Skip to main content

Source

Trait Source 

Source
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§

Source

type Entry: Copy

Source

type Index: Index

Source

type Context<L: Receive>: Context<Layout = L, Complete = Self::Complete<L::Extent>, Cleanup = Self::Cleanup<L>>

Source

type Canary<L: Canary>: Storage<Layout = L, Index = Self::Index, State = Self::Cleanup<L>, Error = <Self::Context<L> as Context>::Error>

Source

type Cleanup<L: Receive>: Cleanup<Context = Self::Context<L>, Producer = Self::Producer<L>>

Source

type Producer<L: Receive>: Producer<Layout = L, Context = Self::Context<L>, Pending = Self::Pending<L::Extent>, Index = Self::Index, Entry = Self::Entry>

Source

type Pending<E: Extent>: Token<Index = Self::Index, Length = E::Capacity> + Pending<Extent = E, Complete = Self::Complete<E>>

Source

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".

Implementors§