pub trait Source {
type Entry: Copy;
type Index: Index;
type Context<L: Receive>: Context<Layout = L, Complete = Self::Complete<L::Extent>, Cleanup = Self::Cleanup<L>>;
type Canary<L: Canary>: Storage<Layout = L, Index = Self::Index, State = Self::Cleanup<L>, Error = <Self::Context<L> as Context>::Error>;
type Cleanup<L: Receive>: Cleanup<Context = Self::Context<L>, Producer = Self::Producer<L>>;
type Producer<L: Receive>: Producer<Layout = L, Context = Self::Context<L>, Pending = Self::Pending<L::Extent>, Index = Self::Index, Entry = Self::Entry>;
type Pending<E: Extent>: Token<Index = Self::Index, Length = E::Capacity> + Pending<Extent = E, Complete = Self::Complete<E>>;
type Complete<E: Extent>: Token<Index = Self::Index, Length = E::Length>;
const PROVIDED: u16;
const CANARY: u16;
}Expand description
Selects native pending and completed provided-buffer ownership.
Required Associated Constants§
Required Associated Types§
type Entry: Copy
type Index: Index
type Context<L: Receive>: Context<Layout = L, Complete = Self::Complete<L::Extent>, Cleanup = Self::Cleanup<L>>
type Canary<L: Canary>: Storage<Layout = L, Index = Self::Index, State = Self::Cleanup<L>, Error = <Self::Context<L> as Context>::Error>
type Cleanup<L: Receive>: Cleanup<Context = Self::Context<L>, Producer = Self::Producer<L>>
type Producer<L: Receive>: Producer<Layout = L, Context = Self::Context<L>, Pending = Self::Pending<L::Extent>, Index = Self::Index, Entry = Self::Entry>
type Pending<E: Extent>: Token<Index = Self::Index, Length = E::Capacity> + Pending<Extent = E, Complete = Self::Complete<E>>
type Complete<E: Extent>: Token<Index = Self::Index, Length = E::Length>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".