pub struct DetachLookupContext<'a, EF, V, LF, D> {
pub token_resolution: DetachTokenResolution<'a, EF, V, LF>,
pub presented_identity: PresentedIdentity<'a, EF, V, LF>,
pub cell: &'a DetachCell<D>,
pub binding: &'a BindingState,
pub receiving_binding_epoch: Option<BindingEpoch>,
pub request: &'a DetachRequest,
pub request_verifier: D,
pub observer_progress: DeliverySeq,
}Expand description
Complete serialized context for exhaustive detach reference lookup.
Grouping these values prevents a caller from accidentally omitting the exact receiving binding epoch while still keeping token-resolved and presented-key identities distinct.
Fields§
§token_resolution: DetachTokenResolution<'a, EF, V, LF>Exact-token index result selected before presented-key lookup.
presented_identity: PresentedIdentity<'a, EF, V, LF>Identity found under the request’s presented participant key.
cell: &'a DetachCell<D>Current four-variant identity-slot detach cell.
binding: &'a BindingStateCurrent binding or pending-finalization state.
receiving_binding_epoch: Option<BindingEpoch>Binding epoch carried by the receiving connection’s serialized context.
request: &'a DetachRequestExact decoded detach request.
request_verifier: DCanonical non-secret verifier computed by the consuming server.
observer_progress: DeliverySeqObserver progress used only to prepare exact pending replay.
Auto Trait Implementations§
impl<'a, EF, V, LF, D> Freeze for DetachLookupContext<'a, EF, V, LF, D>where
DetachTokenResolution<'a, EF, V, LF>: Freeze,
PresentedIdentity<'a, EF, V, LF>: Freeze,
&'a DetachCell<D>: Freeze,
D: Freeze,
impl<'a, EF, V, LF, D> RefUnwindSafe for DetachLookupContext<'a, EF, V, LF, D>where
DetachTokenResolution<'a, EF, V, LF>: RefUnwindSafe,
PresentedIdentity<'a, EF, V, LF>: RefUnwindSafe,
&'a DetachCell<D>: RefUnwindSafe,
D: RefUnwindSafe,
impl<'a, EF, V, LF, D> Send for DetachLookupContext<'a, EF, V, LF, D>where
DetachTokenResolution<'a, EF, V, LF>: Send,
PresentedIdentity<'a, EF, V, LF>: Send,
&'a DetachCell<D>: Send,
D: Send,
impl<'a, EF, V, LF, D> Sync for DetachLookupContext<'a, EF, V, LF, D>where
DetachTokenResolution<'a, EF, V, LF>: Sync,
PresentedIdentity<'a, EF, V, LF>: Sync,
&'a DetachCell<D>: Sync,
D: Sync,
impl<'a, EF, V, LF, D> Unpin for DetachLookupContext<'a, EF, V, LF, D>where
DetachTokenResolution<'a, EF, V, LF>: Unpin,
PresentedIdentity<'a, EF, V, LF>: Unpin,
&'a DetachCell<D>: Unpin,
D: Unpin,
impl<'a, EF, V, LF, D> UnsafeUnpin for DetachLookupContext<'a, EF, V, LF, D>where
DetachTokenResolution<'a, EF, V, LF>: UnsafeUnpin,
PresentedIdentity<'a, EF, V, LF>: UnsafeUnpin,
&'a DetachCell<D>: UnsafeUnpin,
D: UnsafeUnpin,
impl<'a, EF, V, LF, D> UnwindSafe for DetachLookupContext<'a, EF, V, LF, D>where
DetachTokenResolution<'a, EF, V, LF>: UnwindSafe,
PresentedIdentity<'a, EF, V, LF>: UnwindSafe,
&'a DetachCell<D>: UnwindSafe,
D: UnwindSafe,
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