pub struct Pair<'d, A: Root<'d>, B: Root<'d>> { /* private fields */ }Expand description
Owns two providers and issues their clients in the same lending scope. Both pinned roots remain owned until their dependent application is released.
Implementations§
Trait Implementations§
Source§impl<'d, A, B> App<'d> for Pair<'d, A, B>
SAFETY: each lifecycle operation visits all declared owners once,
in declaration order, through the same pinned projections and presence.
The root stays pinned through finish and retains each operation’s authority.
impl<'d, A, B> App<'d> for Pair<'d, A, B>
SAFETY: each lifecycle operation visits all declared owners once, in declaration order, through the same pinned projections and presence. The root stays pinned through finish and retains each operation’s authority.
Source§unsafe fn park<'__app, '__driver, '__turn>(
__app: Pin<&'__app mut Self>,
__plan: &mut Self::ParkPlan,
__park: Park<'__driver, '__turn, 'd>,
)where
'd: '__driver + '__turn,
unsafe fn park<'__app, '__driver, '__turn>(
__app: Pin<&'__app mut Self>,
__plan: &mut Self::ParkPlan,
__park: Park<'__driver, '__turn, 'd>,
)where
'd: '__driver + '__turn,
§Safety
The authority and prepared plan belong to this exact installed pinned root.
Source§unsafe fn activate<'__app, '__driver, '__turn>(
__app: Pin<&'__app mut Self>,
__activate: Activate<'__driver, '__turn, 'd>,
) -> boolwhere
'd: '__driver + '__turn,
unsafe fn activate<'__app, '__driver, '__turn>(
__app: Pin<&'__app mut Self>,
__activate: Activate<'__driver, '__turn, 'd>,
) -> boolwhere
'd: '__driver + '__turn,
§Safety
The operation and selected route belong to this exact installed pinned root.
const ROUTES: Routes
Source§const WAKE_ROUTES: Routes
const WAKE_ROUTES: Routes
Routes whose installed owners may receive activation.
Source§fn admit(__app: Pin<&Self>, __needs: &mut Needs) -> Result<(), Claim>
fn admit(__app: Pin<&Self>, __needs: &mut Needs) -> Result<(), Claim>
Accumulates the routes of the owners actually present in this pinned root.
fn released<'__app>(__call: Released<'__app, Self>) -> Released<'__app, Self>
fn install<'__app, '__owner>( __install: Install<'__app, '__owner, 'd, Self>, ) -> Install<'__app, '__owner, 'd, Self>
fn dispatch<'__app, '__driver, '__turn>( __dispatch: Dispatch<'__app, '__driver, '__turn, 'd, Self>, ) -> ControlFlow<Event<'d>>
fn progress(__app: Pin<&Self>, __progress: Progress<'_, '_, 'd>) -> Progress<'d>
fn stopping(__app: Pin<&Self>, __progress: Progress<'_, '_, 'd>) -> Progress<'d>
fn select_park() -> Option<Self::ParkPlan>
Source§fn prepare_park(__app: Pin<&Self>, __plan: &mut Self::ParkPlan) -> Option<Count>
fn prepare_park(__app: Pin<&Self>, __plan: &mut Self::ParkPlan) -> Option<Count>
Prepares the selected coordinator shares once after installation.
The count does not exceed
COORDS; field presence and shares remain
stable through finish. None reports count overflow.fn shutdown<'__app, '__turn, '__driver>( __shutdown: Shutdown<'__app, '__turn, '__driver, 'd, Self>, ) -> Shutdown<'__app, '__turn, '__driver, 'd, Self>
fn finish<'__app, '__finish, '__owner, '__epoch>( __finish: Finish<'__app, '__finish, '__owner, '__epoch, 'd, Self>, ) -> Finish<'__app, '__finish, '__owner, '__epoch, 'd, Self>
impl<'d, A, B> Resume<'d> for Pair<'d, A, B>
impl<'pin, 'd, A: Root<'d>, B: Root<'d>> Unpin for Pair<'d, A, B>where
PinnedFieldsOf<__Pair<'pin, 'd, A, B>>: Unpin,
Auto Trait Implementations§
impl<'d, A, B> !RefUnwindSafe for Pair<'d, A, B>
impl<'d, A, B> !Send for Pair<'d, A, B>
impl<'d, A, B> !Sync for Pair<'d, A, B>
impl<'d, A, B> !UnwindSafe for Pair<'d, A, B>
impl<'d, A, B> Forget for Pair<'d, A, B>
impl<'d, A, B> Freeze for Pair<'d, A, B>
impl<'d, A, B> UnsafeUnpin for Pair<'d, A, B>where
PhantomData<(Reference<'d>, *const <A as Root<'d>>::Provider, *const <B as Root<'d>>::Provider)>: UnsafeUnpin,
A: UnsafeUnpin,
B: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more