pub struct ReadyFuture(/* private fields */);Expand description
A handle to a ready future data.
The struct can be created from ready UnsafeFuture only, and it doesn’t
provide methods such as poll except ReadyFuture::consume. You can get
the result from the ready FutureData through the consume method, then
associated FutureData will be dropped and deallocated.
See UnsafeFuture documentation to see how this struct is used.
Implementations§
Source§impl ReadyFuture
impl ReadyFuture
Sourcepub unsafe fn new(future: UnsafeFuture) -> Self
pub unsafe fn new(future: UnsafeFuture) -> Self
Creates a new ReadyFuture from the given ready UnsafeFuture.
§Panics
Panics if associated future data is not ready.
§Safety
Undefined behavior if associated FutureData is not alive.
§Examples
See UnsafeFuture documentation.
Sourcepub unsafe fn consume<Arg, CR>(self, arg: Arg) -> CR
pub unsafe fn consume<Arg, CR>(self, arg: Arg) -> CR
Takes the result out of associated future data, then converts it by
the consume function registered at UnsafeFuture::new, and then
returns the converted result.
By taking self, it’s dropped at the end of the method, then drops and
deallocates the associated future data as well.
§Safety
Arg and CR must be the same as the types determined on
UnsafeFuture::new.
§Examples
See UnsafeFuture documentation.
Trait Implementations§
Source§impl Debug for ReadyFuture
impl Debug for ReadyFuture
Auto Trait Implementations§
impl Freeze for ReadyFuture
impl RefUnwindSafe for ReadyFuture
impl Send for ReadyFuture
impl !Sync for ReadyFuture
impl Unpin for ReadyFuture
impl UnwindSafe for ReadyFuture
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more