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§
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>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".