pub(crate) trait EventDispatcher<Data> {
// Required methods
fn process_events(
&self,
readiness: Readiness,
token: Token,
data: &mut Data,
) -> Result<PostAction>;
fn register(
&self,
poll: &mut Poll,
additional_lifecycle_register: &mut AdditionalLifecycleEventsSet,
token_factory: &mut TokenFactory,
) -> Result<()>;
fn reregister(
&self,
poll: &mut Poll,
additional_lifecycle_register: &mut AdditionalLifecycleEventsSet,
token_factory: &mut TokenFactory,
) -> Result<bool>;
fn unregister(
&self,
poll: &mut Poll,
additional_lifecycle_register: &mut AdditionalLifecycleEventsSet,
registration_token: RegistrationToken,
) -> Result<bool>;
fn before_sleep(&self) -> Result<Option<(Readiness, Token)>>;
fn before_handle_events(&self, events: EventIterator<'_>);
}