pub struct HandoffAttachment { /* private fields */ }Expand description
Opaque platform attachment created while transferring an accepted IPC connection to a backend process.
On Windows this owns the handle-table value that must be carried by the
caller’s existing protocol. On Unix the descriptor travels out-of-band via
SCM_RIGHTS. Native handle and descriptor values never cross the facade.
Implementations§
Source§impl HandoffAttachment
impl HandoffAttachment
Sourcepub fn append_unsigned_varint(self, output: &mut Vec<u8>)
pub fn append_unsigned_varint(self, output: &mut Vec<u8>)
Append this attachment’s opaque value as an unsigned protobuf varint.
The caller owns the wire envelope while this facade retains ownership of the native value and its representation.
Sourcepub fn backend_may_adopt_before_offer(self) -> bool
pub fn backend_may_adopt_before_offer(self) -> bool
Whether the backend may adopt the connection before its offer arrives.
Unix transfers the descriptor and token together in the sideband message, while Windows requires the later offer to identify the duplicated handle. Callers use this transport fact to make their own proxy-fallback ownership decision without selecting a host.
Trait Implementations§
Source§impl Clone for HandoffAttachment
impl Clone for HandoffAttachment
Source§fn clone(&self) -> HandoffAttachment
fn clone(&self) -> HandoffAttachment
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for HandoffAttachment
Source§impl Debug for HandoffAttachment
impl Debug for HandoffAttachment
impl Eq for HandoffAttachment
Source§impl PartialEq for HandoffAttachment
impl PartialEq for HandoffAttachment
impl StructuralPartialEq for HandoffAttachment
Auto Trait Implementations§
impl Freeze for HandoffAttachment
impl RefUnwindSafe for HandoffAttachment
impl Send for HandoffAttachment
impl Sync for HandoffAttachment
impl Unpin for HandoffAttachment
impl UnsafeUnpin for HandoffAttachment
impl UnwindSafe for HandoffAttachment
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more