Struct fuchsia_async::RWHandle

source ·
pub struct RWHandle<T> { /* private fields */ }
Expand description

A Handle that receives notifications when it is readable/writable.

Implementations§

source§

impl<T> RWHandle<T>
where T: AsHandleRef,

source

pub fn new(handle: T) -> Self

Creates a new RWHandle object which will receive notifications when the underlying handle becomes readable, writable, or closes.

§Panics

If called outside the context of an active async executor.

source

pub fn get_ref(&self) -> &T

Returns a reference to the underlying handle.

source

pub fn get_mut(&mut self) -> &mut T

Returns a mutable reference to the underlying handle.

source

pub fn into_inner(self) -> T

Consumes self and returns the underlying handle.

source

pub fn is_closed(&self) -> bool

Returns true if the object received the OBJECT_PEER_CLOSED signal.

source

pub fn on_closed(&self) -> OnSignalsRef<'_>

Returns a future that completes when is_closed() is true.

Trait Implementations§

source§

impl<T> ReadableHandle for RWHandle<T>
where T: AsHandleRef,

source§

fn poll_readable( &self, cx: &mut Context<'_>, ) -> Poll<Result<ReadableState, Status>>

If the object is ready for reading, returns Ready with the readable state. If the implementor returns Pending, it should first ensure that need_readable is called. Read more
source§

fn need_readable(&self, cx: &mut Context<'_>) -> Poll<Result<(), Status>>

Arranges for the current task to be woken when the object receives an OBJECT_READABLE or OBJECT_PEER_CLOSED signal. This can return Poll::Ready if the object has already been signaled in which case the waker will not be woken and it is the caller’s responsibility to not lose the signal.
source§

impl<T> WritableHandle for RWHandle<T>
where T: AsHandleRef,

source§

fn poll_writable( &self, cx: &mut Context<'_>, ) -> Poll<Result<WritableState, Status>>

If the object is ready for writing, returns Ready with the writable state. If the implementor returns Pending, it should first ensure that need_writable is called. Read more
source§

fn need_writable(&self, cx: &mut Context<'_>) -> Poll<Result<(), Status>>

Arranges for the current task to be woken when the object receives an OBJECT_WRITABLE or OBJECT_PEER_CLOSED signal. This can return Poll::Ready if the object has already been signaled in which case the waker will not be woken and it is the caller’s responsibility to not lose the signal.

Auto Trait Implementations§

§

impl<T> Freeze for RWHandle<T>
where T: Freeze,

§

impl<T> !RefUnwindSafe for RWHandle<T>

§

impl<T> Send for RWHandle<T>
where T: Send,

§

impl<T> Sync for RWHandle<T>
where T: Sync,

§

impl<T> Unpin for RWHandle<T>
where T: Unpin,

§

impl<T> !UnwindSafe for RWHandle<T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.