|
Dawn Framework 1.0
Universal data acquisition framework for embedded systems
|
Stream-based I/O notifier with dedicated thread per I/O. More...
#include <stream_notifier.hxx>
Public Types | |
| typedef int(* | notifier_cb_t) (void *priv, io_ddata_t *data) |
| Notifier callback function type. | |
Public Member Functions | |
| virtual int | notifyData (CIOCommon *io, io_ddata_t *data) |
| Emit an immediate notification for already-available data. | |
| int | regNotifier (SIONotifier n) |
| Register I/O notification callback. | |
Stream-based I/O notifier with dedicated thread per I/O.
Provides a dedicated worker thread for a single I/O object, suitable for high-frequency data streaming where each I/O needs its own thread and priority level. Uses poll() on a single file descriptor with timeout for clean thread shutdown.
Unlike CIONotifier which multiplexes multiple I/Os per thread via poll(), CStreamNotifier assigns one thread per I/O for minimal contention and independent priority scheduling.
Definition at line 33 of file stream_notifier.hxx.
|
inherited |
Notifier callback function type.
Callback signature for I/O notification events.
| priv | Private context pointer registered with callback. |
| data | Dynamically allocated I/O data (io_ddata_t*). |
Definition at line 37 of file inotifier.hxx.
|
inlinevirtualinherited |
Emit an immediate notification for already-available data.
Poll-based notifiers still use regNotifier() for fd-driven updates; this hook covers synchronous writes where the payload is already available.
| io | I/O object that produced the data. |
| data | Data payload to pass to callbacks. |
Reimplemented in dawn::CIONotifier.
Definition at line 103 of file inotifier.hxx.
|
virtual |
Register I/O notification callback.
Implements IIONotifier interface.
| n | SIONotifier structure containing callback configuration. |
Implements dawn::IIONotifier.
Definition at line 124 of file stream_notifier.cxx.
References dawn::CIOCommon::ddata_alloc(), dawn::IIONotifier::SIONotifier::io, and dawn::CIOCommon::isNotify().