Module dharma::dispatcher [] [src]

Handling system events (epoll wrapper).

This module provides functionality to implement main program loop by waiting for system events using epoll mechanism.

Source of events is represented by EventHandlers, while whole loop by Dispatchers. LocalDispatcher can be used for single-thread programs when EventHandler do not implement Send while Dispatcher is meant for multi-threaded programs. DispatcherController and LocalDispatcherController are used to control Dispatcher and LocalDispatcher respectively.

Reexports

pub use event_kind::EventKind;

Modules

event_kind

This module contains flags defining kind of event.

Structs

Dispatcher

Structure representing dispatcher of system events for use in multi-threaded program.

DispatcherController

Helps controlling Dispatcher.

LocalDispatcher

Structure representing dispatcher of system events for use in one-threaded program.

LocalDispatcherController

Helps controlling LocalDispatcher.

Traits

EventHandler

Trait for all structures supposed to be handlers for events registered in Dispatcher. EventHandler is responsible for processing events. EventHandler::process_event will be called when handlers file descriptor becomes readable in thread where Dispatcher::start was called.

Type Definitions

EventHandlerId

Id of EventHandler (generated by Dispatcher).