IFiberSelectProtocol

Constructors

this
this(ISelectable conduit, Event events, SelectFiber fiber)

Constructor

this
this(ISelectable conduit, Event events, SelectFiber fiber, IOWarning warning_e, IOError error_e)

Constructor

this
this(typeof(this) other, Event events)

Constructor

Members

Aliases

IOError
alias IOError = .IOError
Undocumented in source.
IOWarning
alias IOWarning = .IOWarning
Undocumented in source.
SelectFiber
alias SelectFiber = .SelectFiber

Local aliases

Functions

error_code
int error_code()
events
Event events()
fileHandle
Handle fileHandle()
handle
bool handle(Event events)

Resumes the fiber coroutine and handle the events reported for the conduit. The fiber must be suspended (HOLD state).

transmit
bool transmit(Event events)

Reads/writes data from/to super.conduit for which events have been reported.

transmitLoop
void transmitLoop()

Registers this instance in the select dispatcher and repeatedly calls transmit() until the transmission is finished.

Variables

conduit
ISelectable conduit;

I/O device

error_e
IOError error_e;

IOError exception instance

events_
Event events_;

Events to register the I/O device for.

warning_e
IOWarning warning_e;

IOWarning exception instance

Inherited Members

From IFiberSelectClient

SelectFiber
alias SelectFiber = .SelectFiber

Type alias for subclass constructors

fiber
SelectFiber fiber;

Fiber instance

io_error
bool io_error;

Flag set to true when the error_() method is called due to an I/O error event. The flag is always reset in the finalize() method.

finalize
void finalize(FinalizeStatus status)

Finalize method, called after this instance has been unregistered from the Dispatcher; kills the fiber and calls the super-class' finalize() method (which calls a finalizer delegate, if one has been set).

error_
void error_(Exception e, Event event)

Error reporting method, called when either an Exception is caught from handle() or an error event is reported; kills the fiber.

timeout
void timeout()

Timeout method, called after this a timeout has occurred in the SelectDispatcher; kills the fiber.

Meta