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 as_ptr<T>(this: *mut Self) -> *mut T
pub unsafe fn as_ptr<T>(this: *mut Self) -> *mut T
Returns a pointer to the value contained in the envelope.
§Safety
this must point to a valid envelope that was successfully decoded.
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 the contained T.
§Safety
The envelope must have been successfully decoded as a T. Reading from
an envelope can cause undefined behavior if the underlying value is
dropped later. Precautions should be taken to ensure that values read
from an envelope are not dropped twice.
Sourcepub unsafe fn take_unchecked<T>(&mut self) -> T
pub unsafe fn take_unchecked<T>(&mut self) -> T
Takes the contained T out of the envelope.
§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.