Trait HandleBased

Source
pub trait HandleBased:
    AsHandleRef
    + From<Handle>
    + Into<Handle> {
    // Provided methods
    fn close(self) -> impl Future<Output = Result<(), Error>> { ... }
    fn duplicate_handle(
        &self,
        rights: Rights,
    ) -> impl Future<Output = Result<Self, Error>> { ... }
    fn replace_handle(
        self,
        rights: Rights,
    ) -> impl Future<Output = Result<Self, Error>> { ... }
    fn into_handle(self) -> Handle { ... }
    fn from_handle(handle: Handle) -> Self { ... }
    fn into_handle_based<H: HandleBased>(self) -> H { ... }
    fn from_handle_based<H: HandleBased>(h: H) -> Self { ... }
}

Provided Methods§

Source

fn close(self) -> impl Future<Output = Result<(), Error>>

Closes this handle. Surfaces errors that dropping the handle will not.

Source

fn duplicate_handle( &self, rights: Rights, ) -> impl Future<Output = Result<Self, Error>>

Duplicate this handle.

Source

fn replace_handle( self, rights: Rights, ) -> impl Future<Output = Result<Self, Error>>

Replace this handle with an equivalent one with different rights.

Source

fn into_handle(self) -> Handle

Convert this handle-based value into a pure Handle.

Source

fn from_handle(handle: Handle) -> Self

Construct a new handle-based value from a Handle.

Source

fn into_handle_based<H: HandleBased>(self) -> H

Turn this handle-based value into one of a different type.

Source

fn from_handle_based<H: HandleBased>(h: H) -> Self

Turn another handle-based type into this one.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§