Struct calloop::io::Async

source ·
pub struct Async<'l, F: AsFd> {
    fd: Option<F>,
    dispatcher: Rc<RefCell<IoDispatcher>>,
    inner: Rc<dyn IoLoopInner + 'l>,
    was_nonblocking: bool,
}
Expand description

Adapter for async IO manipulations

This type wraps an IO object, providing methods to create futures waiting for its readiness.

If the futures-io cargo feature is enabled, it also implements AsyncRead and/or AsyncWrite if the underlying type implements Read and/or Write.

Note that this adapter and the futures procuded from it and not threadsafe.

§Platform-Specific

  • Windows: Usually, on drop, the file descriptor is set back to its previous status. For example, if the file was previously nonblocking it will be set to nonblocking, and if the file was blocking it will be set to blocking. However, on Windows, it is impossible to tell what its status was before. Therefore it will always be set to blocking.

Fields§

§fd: Option<F>§dispatcher: Rc<RefCell<IoDispatcher>>§inner: Rc<dyn IoLoopInner + 'l>§was_nonblocking: bool

Implementations§

source§

impl<'l, F: AsFd> Async<'l, F>

source

pub(crate) fn new<Data>( inner: Rc<LoopInner<'l, Data>>, fd: F, ) -> Result<Async<'l, F>>

source

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

Mutably access the underlying IO object

source

pub fn readable<'s>(&'s mut self) -> Readable<'s, 'l, F>

A future that resolves once the object becomes ready for reading

source

pub fn writable<'s>(&'s mut self) -> Writable<'s, 'l, F>

A future that resolves once the object becomes ready for writing

source

pub fn into_inner(self) -> F

Remove the async adapter and retrieve the underlying object

source

fn readiness(&self) -> Readiness

source

fn register_waker(&self, interest: Interest, waker: Waker) -> Result<()>

Trait Implementations§

source§

impl<'l, F: AsFd + Debug> Debug for Async<'l, F>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'l, F: AsFd> Drop for Async<'l, F>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<'l, F: AsFd> Unpin for Async<'l, F>

Auto Trait Implementations§

§

impl<'l, F> Freeze for Async<'l, F>
where F: Freeze,

§

impl<'l, F> !RefUnwindSafe for Async<'l, F>

§

impl<'l, F> !Send for Async<'l, F>

§

impl<'l, F> !Sync for Async<'l, F>

§

impl<'l, F> !UnwindSafe for Async<'l, F>

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more