pub struct HandleType<T: EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32>(/* private fields */);Expand description
The FIDL type zx.Handle:<OBJECT_TYPE, RIGHTS>, or a client_end or server_end.
Trait Implementations§
Source§impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> Decode<HandleType<T, OBJECT_TYPE, RIGHTS>, <T as EncodableAsHandle>::Dialect> for T
impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> Decode<HandleType<T, OBJECT_TYPE, RIGHTS>, <T as EncodableAsHandle>::Dialect> for T
Source§impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> Encode<HandleType<T, OBJECT_TYPE, RIGHTS>, <T as EncodableAsHandle>::Dialect> for T
impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> Encode<HandleType<T, OBJECT_TYPE, RIGHTS>, <T as EncodableAsHandle>::Dialect> for T
Source§impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> ResourceTypeMarker for HandleType<T, OBJECT_TYPE, RIGHTS>
impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> ResourceTypeMarker for HandleType<T, OBJECT_TYPE, RIGHTS>
Source§type Borrowed<'a> = T
type Borrowed<'a> = T
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &mut Self::Owned. There are three cases: Read moreSource§fn take_or_borrow(value: &mut <Self as TypeMarker>::Owned) -> Self::Borrowed<'_>
fn take_or_borrow(value: &mut <Self as TypeMarker>::Owned) -> Self::Borrowed<'_>
Cheaply converts from
&mut Self::Owned to Self::Borrowed. For
HandleBased types this is “take” (it returns an owned handle and
replaces value with Handle::invalid), and for all other types it is
“borrow” (just converts from one reference to another).Source§impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> TypeMarker for HandleType<T, OBJECT_TYPE, RIGHTS>
impl<T: 'static + EncodableAsHandle, const OBJECT_TYPE: u32, const RIGHTS: u32> TypeMarker for HandleType<T, OBJECT_TYPE, RIGHTS>
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for alignment. Must be a multiple of
inline_align.Source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned to a single memcpy. Read moreSource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned to a single memcpy.Auto Trait Implementations§
impl<T, const OBJECT_TYPE: u32, const RIGHTS: u32> Freeze for HandleType<T, OBJECT_TYPE, RIGHTS>
impl<T, const OBJECT_TYPE: u32, const RIGHTS: u32> RefUnwindSafe for HandleType<T, OBJECT_TYPE, RIGHTS>where
T: RefUnwindSafe,
impl<T, const OBJECT_TYPE: u32, const RIGHTS: u32> Send for HandleType<T, OBJECT_TYPE, RIGHTS>where
T: Send,
impl<T, const OBJECT_TYPE: u32, const RIGHTS: u32> Sync for HandleType<T, OBJECT_TYPE, RIGHTS>where
T: Sync,
impl<T, const OBJECT_TYPE: u32, const RIGHTS: u32> Unpin for HandleType<T, OBJECT_TYPE, RIGHTS>where
T: Unpin,
impl<T, const OBJECT_TYPE: u32, const RIGHTS: u32> UnwindSafe for HandleType<T, OBJECT_TYPE, RIGHTS>where
T: 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