![]() |
TSDuck v3.44-4659
MPEG Transport Stream Toolkit
|
This structure indicates the status of a non-blocking I/O. More...
#include <tsNonBlockingDevice.h>
Public Member Functions | |
| void | reset () |
| Reset the IOSB for a new I/O operation. | |
Static Public Member Functions | |
| static IOSB * | ParentIOSB (::OVERLAPPED *overlap) |
| Check if an OVERLAPPED structure is part of an IOSB. | |
Public Attributes | |
| std::shared_ptr< AncillaryData > | app_data {} |
| Pointer to application data. | |
| std::shared_ptr< AncillaryData > | io_data {} |
| Pointer to I/O data (Windows-specific). | |
| ::OVERLAPPED | overlap {} |
| OVERLAPPED structure for an asynchronous I/O (Windows-specific). | |
| bool | pending = false |
| This boolean indicates if the I/O is pending. | |
This structure indicates the status of a non-blocking I/O.
You must be a former OpenVMS expert to understand the name...
The subclasses which implement non-blocking I/O should use an IOSB* parameter for any I/O operation which can be non-blocking. Typically, if the instance of the subclass is in blocking mode (the default), this parameter must be null. When the instance is in non-blocking mode, this parameter must not be null.
|
static |
| bool ts::NonBlockingDevice::IOSB::pending = false |
This boolean indicates if the I/O is pending.
| std::shared_ptr<AncillaryData> ts::NonBlockingDevice::IOSB::app_data {} |
Pointer to application data.
This is typically set by the application before starting the I/O.
| std::shared_ptr<AncillaryData> ts::NonBlockingDevice::IOSB::io_data {} |
Pointer to I/O data (Windows-specific).
This is typically set by "reactive I/O" before starting the asynchronous I/O.