std :: async::net
Struct std::IoDriver
struct IoDriver {
struct Reactor reactor;
int ok;
struct IoWaiter waiters[ASYNC_IO_WAITERS];
int nwaiting;
int next_serial;
int wake_rd;
int wake_wr;
int wake_pending;
long long events;
}Fields
reactor opened
wake pipe (POSIX), -1 if none
atomic: a byte is in the pipe (or an unpark is pending)
statistics: readiness events seen
Methods
Opens the OS event queue (and the wake pipe). 0 on success.
Wake 'w' once 'fd' is ready for 'filter'. 'id' is a previous registration of the same future (refreshed), or 0. Returns the registration id, 0 if the table is full (re-poll instead).
Park (std/async/executor.h): the OS clock, and waiting in the reactor.