Struct tokio::io::unix::AsyncFdReadyGuard [−][src]
Represents an IO-ready event detected on a particular file descriptor, which
has not yet been acknowledged. This is a must_use
structure to help ensure
that you do not forget to explicitly clear (or not clear) the event.
Implementations
impl<'a, Inner: AsRawFd> AsyncFdReadyGuard<'a, Inner>
[src]
pub fn clear_ready(&mut self)
[src]
Indicates to tokio that the file descriptor is no longer ready. The internal readiness flag will be cleared, and tokio will wait for the next edge-triggered readiness notification from the OS.
It is critical that this function not be called unless your code actually observes that the file descriptor is not ready. Do not call it simply because, for example, a read succeeded; it should be called when a read is observed to block.
pub fn retain_ready(&mut self)
[src]
This function should be invoked when you intentionally want to keep the ready flag asserted.
While this function is itself a no-op, it satisfies the #[must_use]
constraint on the AsyncFdReadyGuard
type.
pub fn with_io<R>(&mut self, f: impl FnOnce() -> Result<R>) -> Result<R>
[src]
Performs the IO operation f
; if f
returns a WouldBlock
error,
the readiness state associated with this file descriptor is cleared.
This method helps ensure that the readiness state of the underlying file
descriptor remains in sync with the tokio-side readiness state, by
clearing the tokio-side state only when a WouldBlock
condition
occurs. It is the responsibility of the caller to ensure that f
returns WouldBlock
only if the file descriptor that originated this
AsyncFdReadyGuard
no longer expresses the readiness state that was queried to
create this AsyncFdReadyGuard
.
pub fn with_poll<R>(&mut self, f: impl FnOnce() -> Poll<R>) -> Poll<R>
[src]
Performs the IO operation f
; if f
returns Pending
, the readiness
state associated with this file descriptor is cleared.
This method helps ensure that the readiness state of the underlying file
descriptor remains in sync with the tokio-side readiness state, by
clearing the tokio-side state only when a Pending
condition occurs.
It is the responsibility of the caller to ensure that f
returns
Pending
only if the file descriptor that originated this
AsyncFdReadyGuard
no longer expresses the readiness state that was queried to
create this AsyncFdReadyGuard
.
Trait Implementations
impl<'a, T: Debug + AsRawFd> Debug for AsyncFdReadyGuard<'a, T>
[src]
Auto Trait Implementations
impl<'a, T> !RefUnwindSafe for AsyncFdReadyGuard<'a, T>
impl<'a, T> Send for AsyncFdReadyGuard<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Sync for AsyncFdReadyGuard<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Unpin for AsyncFdReadyGuard<'a, T>
impl<'a, T> !UnwindSafe for AsyncFdReadyGuard<'a, T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut Tⓘ
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,