pub struct Handle(/* private fields */);Expand description
A capability that wraps a single Zircon handle.
Implementations§
Source§impl Handle
impl Handle
Sourcepub fn new(handle: NullableHandle) -> Arc<Self> ⓘ
pub fn new(handle: NullableHandle) -> Arc<Self> ⓘ
Creates a new Handle containing a Zircon handle.
Sourcepub fn duplicate(&self) -> Option<NullableHandle>
pub fn duplicate(&self) -> Option<NullableHandle>
Gets a duplicate of the inner handle. Returns None if the handle has been taken or the duplicate operation fails.
Sourcepub fn take(&self) -> Option<NullableHandle>
pub fn take(&self) -> Option<NullableHandle>
Removes the inner handle and returns it.
Trait Implementations§
Source§impl CapabilityBound for Handle
impl CapabilityBound for Handle
fn debug_typename() -> &'static str
Source§fn try_into_directory_entry(
self: Arc<Self>,
_scope: ExecutionScope,
_token: Arc<WeakInstanceToken>,
) -> Result<Arc<dyn DirectoryEntry>, ConversionError>
fn try_into_directory_entry( self: Arc<Self>, _scope: ExecutionScope, _token: Arc<WeakInstanceToken>, ) -> Result<Arc<dyn DirectoryEntry>, ConversionError>
Converts this capability into a directory entry. Read more
Auto Trait Implementations§
impl !Freeze for Handle
impl !RefUnwindSafe for Handle
impl Send for Handle
impl Sync for Handle
impl Unpin for Handle
impl UnsafeUnpin for Handle
impl UnwindSafe for Handle
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
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
fn fidl_into_native(self) -> Box<N>
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>
Converts
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>
Converts
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