Skip to main content

Source

Trait Source 

Source
pub trait Source: Source + Control {
    type Range: Range<Target = Self::Target>;
    type Payload: Receive;
    type Release<T: Codec, L: Canary, P: Copy>: Release<P, Ring = Self::Ring<T>, File = <Self::Ring<T> as Access>::File, Session = <Self::Session<T, L> as Empty>::Occupied, Target = <Self::Ring<T> as Access>::Target, Error = Storage<<<Self::Ring<T> as Close>::State as Unmap>::Error>>
       where Self: Observe<T>;
    type Cleanup<T: Codec, L: Canary, P: Copy>: Cleanup<Primary = P, Ring = Self::Ring<T>, File = <Self::Ring<T> as Access>::File, Accept = Self::Accept<T>, Session = Self::Session<T, L>, Error = Failure<Storage<<<Self::Ring<T> as Close>::State as Unmap>::Error>, Cause<<T::Context as Context>::Probe, <Self as Observe<T>>::Observation, <Self::Accept<T> as Accept>::Error>>>
       where Self: Observe<T>;
    type Accept<T: Codec>: Accept<Ring = Self::Ring<T>, Owned = Self::Owned<T>, Probe = <T::Context as Context>::Probe, Outcome = Self::Outcome<T, <T::Context as Context>::Probe>>
       where Self: Observe<T>;
    type Session<T: Codec, L: Canary>: Empty<Ring = Self::Ring<T>, Layout = L, Owned = Self::Owned<T>, Probe = <T::Context as Context>::Probe, Outcome = Self::Outcome<T, <T::Context as Context>::Probe>>
       where Self: Observe<T>;
    type Outcome<T: Token, P: Copy>: Outcome<Probe = P, Observation = <Self as Observe<T>>::Observation, Value = <Self::Range as Range>::Value>
       where Self: Observe<T>;
    type Waiting<T: Codec, S>: Wait<S, Ring = Self::Ring<T>, Owned = Self::Owned<T>, Probe = <T::Context as Context>::Probe, Outcome = Self::Outcome<T, <T::Context as Context>::Probe>>
       where Self: Observe<T>;
}
Expand description

Selects native canary checks without exposing native completion layouts.

Required Associated Types§

Source

type Range: Range<Target = Self::Target>

Source

type Payload: Receive

Source

type Release<T: Codec, L: Canary, P: Copy>: Release<P, Ring = Self::Ring<T>, File = <Self::Ring<T> as Access>::File, Session = <Self::Session<T, L> as Empty>::Occupied, Target = <Self::Ring<T> as Access>::Target, Error = Storage<<<Self::Ring<T> as Close>::State as Unmap>::Error>> where Self: Observe<T>

Source

type Cleanup<T: Codec, L: Canary, P: Copy>: Cleanup<Primary = P, Ring = Self::Ring<T>, File = <Self::Ring<T> as Access>::File, Accept = Self::Accept<T>, Session = Self::Session<T, L>, Error = Failure<Storage<<<Self::Ring<T> as Close>::State as Unmap>::Error>, Cause<<T::Context as Context>::Probe, <Self as Observe<T>>::Observation, <Self::Accept<T> as Accept>::Error>>> where Self: Observe<T>

Source

type Accept<T: Codec>: Accept<Ring = Self::Ring<T>, Owned = Self::Owned<T>, Probe = <T::Context as Context>::Probe, Outcome = Self::Outcome<T, <T::Context as Context>::Probe>> where Self: Observe<T>

Source

type Session<T: Codec, L: Canary>: Empty<Ring = Self::Ring<T>, Layout = L, Owned = Self::Owned<T>, Probe = <T::Context as Context>::Probe, Outcome = Self::Outcome<T, <T::Context as Context>::Probe>> where Self: Observe<T>

Source

type Outcome<T: Token, P: Copy>: Outcome<Probe = P, Observation = <Self as Observe<T>>::Observation, Value = <Self::Range as Range>::Value> where Self: Observe<T>

Source

type Waiting<T: Codec, S>: Wait<S, Ring = Self::Ring<T>, Owned = Self::Owned<T>, Probe = <T::Context as Context>::Probe, Outcome = Self::Outcome<T, <T::Context as Context>::Probe>> where Self: Observe<T>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§