pub trait IoHandler<Message>: Send + Sync{
// Provided methods
fn initialize(&self, _io: &IoContext<Message>) { ... }
fn timeout(&self, _io: &IoContext<Message>, _timer: TimerToken) { ... }
fn message(&self, _io: &IoContext<Message>, _message: &Message) { ... }
fn stream_hup(&self, _io: &IoContext<Message>, _stream: StreamToken) { ... }
fn stream_readable(&self, _io: &IoContext<Message>, _stream: StreamToken) { ... }
fn stream_writable(&self, _io: &IoContext<Message>, _stream: StreamToken) { ... }
fn register_stream(
&self,
_stream: StreamToken,
_reg: Token,
_registry: &Registry,
) { ... }
fn update_stream(
&self,
_stream: StreamToken,
_reg: Token,
_registry: &Registry,
) { ... }
fn deregister_stream(&self, _stream: StreamToken, _registry: &Registry) { ... }
}
Expand description
Generic IO handler.
All the handler function are called from within IO event loop.
Message
type is used as notification data
Provided Methods§
Sourcefn initialize(&self, _io: &IoContext<Message>)
fn initialize(&self, _io: &IoContext<Message>)
Initialize the handler
Sourcefn timeout(&self, _io: &IoContext<Message>, _timer: TimerToken)
fn timeout(&self, _io: &IoContext<Message>, _timer: TimerToken)
Timer function called after a timeout created with HandlerIo::timeout
.
Sourcefn message(&self, _io: &IoContext<Message>, _message: &Message)
fn message(&self, _io: &IoContext<Message>, _message: &Message)
Called when a broadcasted message is received. The message can only be sent from a different IO handler.
Sourcefn stream_hup(&self, _io: &IoContext<Message>, _stream: StreamToken)
fn stream_hup(&self, _io: &IoContext<Message>, _stream: StreamToken)
Called when an IO stream gets closed
Sourcefn stream_readable(&self, _io: &IoContext<Message>, _stream: StreamToken)
fn stream_readable(&self, _io: &IoContext<Message>, _stream: StreamToken)
Called when an IO stream can be read from
Sourcefn stream_writable(&self, _io: &IoContext<Message>, _stream: StreamToken)
fn stream_writable(&self, _io: &IoContext<Message>, _stream: StreamToken)
Called when an IO stream can be written to
Sourcefn register_stream(
&self,
_stream: StreamToken,
_reg: Token,
_registry: &Registry,
)
fn register_stream( &self, _stream: StreamToken, _reg: Token, _registry: &Registry, )
Register a new stream with the event loop
Sourcefn update_stream(&self, _stream: StreamToken, _reg: Token, _registry: &Registry)
fn update_stream(&self, _stream: StreamToken, _reg: Token, _registry: &Registry)
Re-register a stream with the event loop
Sourcefn deregister_stream(&self, _stream: StreamToken, _registry: &Registry)
fn deregister_stream(&self, _stream: StreamToken, _registry: &Registry)
Deregister a stream. Called when stream is removed from event loop