pub trait State<S: Slots, E: Entry>: Sized {
type Files: Files<S, Changes: Changes<Id = E::File>>;
type Vacancy<'a>: Vacancy<Echo = E::Echo>
where Self: 'a;
type Occupied<'a>: Occupied<Entry = E>
where Self: 'a;
Show 13 methods
// Required methods
fn try_new(plan: Plan) -> Result<Self, Error>;
fn try_vacant(&mut self, slot: E) -> Result<Self::Vacancy<'_>, (E, Failure)>;
fn occupied(
&mut self,
echo: E::Echo,
family: E::Family,
) -> Option<Self::Occupied<'_>>;
fn take(&mut self, id: E::Id) -> Option<E::Call>;
fn remove_fd(
&mut self,
raw: RawFd,
owner: &mut Self::Files,
) -> Result<Option<E::Echo>, Index<S::Index>>;
fn operation(&self, id: E::Id) -> Option<E::Call>;
fn resolve(&self, echo: E::Echo) -> Option<(E::Id, E::Call)>;
fn find(&self, echo: E::Echo, family: E::Family) -> Option<E::File>;
fn queue_resume(&mut self, id: E::Id);
fn pop_resume(&mut self) -> Option<E::Id>;
fn can_resume(&self) -> bool;
fn files(&self) -> impl Iterator<Item = E::File>;
fn clear(&mut self);
}Required Associated Types§
type Files: Files<S, Changes: Changes<Id = E::File>>
type Vacancy<'a>: Vacancy<Echo = E::Echo>where
Self: 'a,
type Occupied<'a>: Occupied<Entry = E>where
Self: 'a,
Required Methods§
fn try_new(plan: Plan) -> Result<Self, Error>
fn try_vacant(&mut self, slot: E) -> Result<Self::Vacancy<'_>, (E, Failure)>
fn occupied( &mut self, echo: E::Echo, family: E::Family, ) -> Option<Self::Occupied<'_>>
fn take(&mut self, id: E::Id) -> Option<E::Call>
fn remove_fd( &mut self, raw: RawFd, owner: &mut Self::Files, ) -> Result<Option<E::Echo>, Index<S::Index>>
fn operation(&self, id: E::Id) -> Option<E::Call>
fn resolve(&self, echo: E::Echo) -> Option<(E::Id, E::Call)>
fn find(&self, echo: E::Echo, family: E::Family) -> Option<E::File>
fn queue_resume(&mut self, id: E::Id)
fn pop_resume(&mut self) -> Option<E::Id>
fn can_resume(&self) -> bool
fn files(&self) -> impl Iterator<Item = E::File>
fn clear(&mut self)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".