Enum Poll
enum Poll<T>
Indicates whether a value is available or if the current task has been scheduled to receive a wakeup instead.
This is returned by Future::poll.
Variants
-
Ready(T) Represents that a value is immediately ready.
-
Pending Represents that a value is not ready yet.
When a function returns
Pending, the function must also ensure that the current task is scheduled to be awoken when progress can be made.
Implementations
impl<T> Poll<T>
fn map<U, F>(self: Self, f: F) -> Poll<U> where F: FnOnce(T) -> UMaps a
Poll<T>toPoll<U>by applying a function to a contained value.Examples
Converts a
Poll<String>into aPoll<[usize]>, consuming the original:# use Poll; let poll_some_string = Ready; // `Poll::map` takes self *by value*, consuming `poll_some_string` let poll_some_len = poll_some_string.map; assert_eq!;const fn is_ready(self: &Self) -> boolReturns
trueif the poll is aPoll::Readyvalue.Examples
# use Poll; let x: = Ready; assert_eq!; let x: = Pending; assert_eq!;const fn is_pending(self: &Self) -> boolReturns
trueif the poll is aPendingvalue.Examples
# use Poll; let x: = Ready; assert_eq!; let x: = Pending; assert_eq!;
impl<T, E> Poll<Option<Result<T, E>>>
fn map_ok<U, F>(self: Self, f: F) -> Poll<Option<Result<U, E>>> where F: FnOnce(T) -> UMaps a
Poll<Option<Result<T, E>>>toPoll<Option<Result<U, E>>>by applying a function to a containedPoll::Ready(Some(Ok))value, leaving all other variants untouched.This function can be used to compose the results of two functions.
Examples
# use Poll; let res: = Ready; let squared = res.map_ok; assert_eq!;fn map_err<U, F>(self: Self, f: F) -> Poll<Option<Result<T, U>>> where F: FnOnce(E) -> UMaps a
Poll::Ready<Option<Result<T, E>>>toPoll::Ready<Option<Result<T, F>>>by applying a function to a containedPoll::Ready(Some(Err))value, leaving all other variants untouched.This function can be used to pass through a successful result while handling an error.
Examples
# use Poll; let res: = Ready; let res = res.map_err; assert_eq!;
impl<T, E> Poll<Result<T, E>>
fn map_ok<U, F>(self: Self, f: F) -> Poll<Result<U, E>> where F: FnOnce(T) -> UMaps a
Poll<Result<T, E>>toPoll<Result<U, E>>by applying a function to a containedPoll::Ready(Ok)value, leaving all other variants untouched.This function can be used to compose the results of two functions.
Examples
# use Poll; let res: = Ready; let squared = res.map_ok; assert_eq!;fn map_err<U, F>(self: Self, f: F) -> Poll<Result<T, U>> where F: FnOnce(E) -> UMaps a
Poll::Ready<Result<T, E>>toPoll::Ready<Result<T, U>>by applying a function to a containedPoll::Ready(Err)value, leaving all other variants untouched.This function can be used to pass through a successful result while handling an error.
Examples
# use Poll; let res: = Ready; let res = res.map_err; assert_eq!;
impl<T> Any for Poll<T>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Poll<T>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Poll<T>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Poll<T>
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> Freeze for Poll<T>
impl<T> From for Poll<T>
fn from(t: T) -> Poll<T>Moves the value into a
Poll::Readyto make aPoll<T>.Example
# use Poll; assert_eq!;
impl<T> From for Poll<T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> From for Poll<T>
fn from(t: never) -> T
impl<T> RefUnwindSafe for Poll<T>
impl<T> Send for Poll<T>
impl<T> StructuralPartialEq for Poll<T>
impl<T> Sync for Poll<T>
impl<T> Unpin for Poll<T>
impl<T> UnsafeUnpin for Poll<T>
impl<T> UnwindSafe for Poll<T>
impl<T, E> Try for Poll<Option<Result<T, E>>>
fn from_output(c: <Self as >::Output) -> Selffn branch(self: Self) -> ControlFlow<<Self as >::Residual, <Self as >::Output>
impl<T, E> Try for Poll<Result<T, E>>
fn from_output(c: <Self as >::Output) -> Selffn branch(self: Self) -> ControlFlow<<Self as >::Residual, <Self as >::Output>
impl<T, E, F: From<E>> FromResidual for Poll<Option<Result<T, F>>>
fn from_residual(x: Result<Infallible, E>) -> Self
impl<T, E, F: From<E>> FromResidual for Poll<Result<T, F>>
fn from_residual(x: Result<Infallible, E>) -> Self
impl<T, U> Into for Poll<T>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Poll<T>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Poll<T>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T: $crate::clone::Clone> Clone for Poll<T>
fn clone(self: &Self) -> Poll<T>
impl<T: $crate::cmp::Eq> Eq for Poll<T>
impl<T: $crate::cmp::Ord> Ord for Poll<T>
fn cmp(self: &Self, other: &Poll<T>) -> Ordering
impl<T: $crate::cmp::PartialEq> PartialEq for Poll<T>
fn eq(self: &Self, other: &Poll<T>) -> bool
impl<T: $crate::cmp::PartialOrd> PartialOrd for Poll<T>
fn partial_cmp(self: &Self, other: &Poll<T>) -> Option<Ordering>
impl<T: $crate::fmt::Debug> Debug for Poll<T>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<T: $crate::hash::Hash> Hash for Poll<T>
fn hash<__H: $crate::hash::Hasher>(self: &Self, state: &mut __H)