pub trait SubscriberOps {
    type Subscriber: MutEventSubscriber;

    fn add_subscriber(&mut self, subscriber: Self::Subscriber) -> SubscriberId;
    fn remove_subscriber(
        &mut self,
        subscriber_id: SubscriberId
    ) -> Result<Self::Subscriber>; fn subscriber_mut(
        &mut self,
        subscriber_id: SubscriberId
    ) -> Result<&mut Self::Subscriber>; fn event_ops(&mut self, subscriber_id: SubscriberId) -> Result<EventOps<'_>>; }
Expand description

API that allows users to add, remove, and interact with registered subscribers.

Required Associated Types

Subscriber type for which the operations apply.

Required Methods

Registers a new subscriber and returns the ID associated with it.

Panics

This function might panic if the subscriber is already registered. Whether a panic is triggered depends on the implementation of Subscriber::init().

Typically, in the init function, the subscriber adds fds to its interest list. The same fd cannot be added twice and the EventManager will return Error::FdAlreadyRegistered. Using unwrap in init in this situation triggers a panic.

Removes the subscriber corresponding to subscriber_id from the watch list.

Returns a mutable reference to the subscriber corresponding to subscriber_id.

Creates an event operations wrapper for the subscriber corresponding to subscriber_id.

The event operations can be used to update the events monitored by the subscriber.

Implementors