pub union Envelope {
/* private fields */
}Expand description
A FIDL envelope
Implementations§
Source§impl Envelope
impl Envelope
Sourcepub fn encode_zero(out: &mut MaybeUninit<Self>)
pub fn encode_zero(out: &mut MaybeUninit<Self>)
Encodes a zero envelope into a slot.
Sourcepub fn encode_value_static<W: Wire, E: InternalHandleEncoder + ?Sized>(
value: impl Encode<W, E>,
encoder: &mut E,
out: &mut MaybeUninit<Self>,
constraint: W::Constraint,
) -> Result<(), EncodeError>
pub fn encode_value_static<W: Wire, E: InternalHandleEncoder + ?Sized>( value: impl Encode<W, E>, encoder: &mut E, out: &mut MaybeUninit<Self>, constraint: W::Constraint, ) -> Result<(), EncodeError>
Encodes a 'static value into an envelope with an encoder.
Sourcepub fn encode_value<W: Wire, E: Encoder + ?Sized>(
value: impl Encode<W, E>,
encoder: &mut E,
out: &mut MaybeUninit<Self>,
constraint: W::Constraint,
) -> Result<(), EncodeError>
pub fn encode_value<W: Wire, E: Encoder + ?Sized>( value: impl Encode<W, E>, encoder: &mut E, out: &mut MaybeUninit<Self>, constraint: W::Constraint, ) -> Result<(), EncodeError>
Encodes a value into an envelope with an encoder.
Sourcepub fn is_encoded_zero(slot: Slot<'_, Self>) -> bool
pub fn is_encoded_zero(slot: Slot<'_, Self>) -> bool
Returns whether a envelope slot is encoded as zero.
Sourcepub fn decode_unknown_static<D: InternalHandleDecoder + ?Sized>(
slot: Slot<'_, Self>,
decoder: &mut D,
) -> Result<(), DecodeError>
pub fn decode_unknown_static<D: InternalHandleDecoder + ?Sized>( slot: Slot<'_, Self>, decoder: &mut D, ) -> Result<(), DecodeError>
Decodes and discards a static type in an envelope.
Sourcepub fn decode_unknown<'de, D: Decoder<'de> + ?Sized>(
slot: Slot<'_, Self>,
decoder: &mut D,
) -> Result<(), DecodeError>
pub fn decode_unknown<'de, D: Decoder<'de> + ?Sized>( slot: Slot<'_, Self>, decoder: &mut D, ) -> Result<(), DecodeError>
Decodes and discards an unknown value in an envelope.
Sourcepub fn decode_as_static<D: InternalHandleDecoder + ?Sized, T: Decode<D>>(
slot: Slot<'_, Self>,
decoder: &mut D,
constraint: T::Constraint,
) -> Result<(), DecodeError>
pub fn decode_as_static<D: InternalHandleDecoder + ?Sized, T: Decode<D>>( slot: Slot<'_, Self>, decoder: &mut D, constraint: T::Constraint, ) -> Result<(), DecodeError>
Decodes a value of a known type from an envelope.
Sourcepub fn decode_as<'de, D: Decoder<'de> + ?Sized, T: Decode<D>>(
slot: Slot<'_, Self>,
decoder: &mut D,
constraint: T::Constraint,
) -> Result<(), DecodeError>
pub fn decode_as<'de, D: Decoder<'de> + ?Sized, T: Decode<D>>( slot: Slot<'_, Self>, decoder: &mut D, constraint: T::Constraint, ) -> Result<(), DecodeError>
Decodes a value of a known type from an envelope.
Sourcepub unsafe fn deref_unchecked<T>(&self) -> &T
pub unsafe fn deref_unchecked<T>(&self) -> &T
Returns a reference to the contained T.
§Safety
The envelope must have been successfully decoded as a T.
Sourcepub unsafe fn read_unchecked<T>(&self) -> T
pub unsafe fn read_unchecked<T>(&self) -> T
Returns an Owned to the contained T.
§Safety
The envelope must have been successfully decoded as a T.
Sourcepub unsafe fn clone_inline_unchecked<T: Clone>(&self) -> Self
pub unsafe fn clone_inline_unchecked<T: Clone>(&self) -> Self
Clones the envelope, assuming that it contains an inline T.
§Safety
The envelope must have been successfully decoded inline as a T.
Trait Implementations§
Source§impl Constrained for Envelope
impl Constrained for Envelope
Source§type Constraint = ()
type Constraint = ()
Type of constraint information for this type.
Source§fn validate(
_: Slot<'_, Self>,
_: Self::Constraint,
) -> Result<(), ValidationError>
fn validate( _: Slot<'_, Self>, _: Self::Constraint, ) -> Result<(), ValidationError>
Validate a slot of this type against a constraint. Can be called when
pointers/envelopes are just presence markers.
Source§impl Wire for Envelope
impl Wire for Envelope
Source§fn zero_padding(_: &mut MaybeUninit<Self>)
fn zero_padding(_: &mut MaybeUninit<Self>)
Writes zeroes to the padding for this type, if any.
impl Send for Envelope
impl Sync for Envelope
Auto Trait Implementations§
impl Freeze for Envelope
impl RefUnwindSafe for Envelope
impl Unpin for Envelope
impl UnwindSafe for Envelope
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