pub struct FutureWrite<T>where
T: 'static,{ /* private fields */ }
Expand description
Represents a write operation which may be cancelled prior to completion.
This is returned by FutureWriter::write
.
Implementations§
Source§impl<T> FutureWrite<T>where
T: 'static,
impl<T> FutureWrite<T>where
T: 'static,
Sourcepub fn cancel(self: Pin<&mut FutureWrite<T>>) -> FutureWriteCancel<T>
pub fn cancel(self: Pin<&mut FutureWrite<T>>) -> FutureWriteCancel<T>
Cancel this write if it hasn’t already completed.
This method can be used to cancel a write-in-progress and re-acquire the writer and the value being sent. Note that the write operation may succeed racily or the other end may also drop racily, and these outcomes are reflected in the returned value here.
§Panics
Panics if the operation has already been completed via Future::poll
,
or if this method is called twice.
Trait Implementations§
Source§impl<T> Future for FutureWrite<T>where
T: 'static,
impl<T> Future for FutureWrite<T>where
T: 'static,
Auto Trait Implementations§
impl<T> Freeze for FutureWrite<T>where
T: Freeze,
impl<T> RefUnwindSafe for FutureWrite<T>where
T: RefUnwindSafe,
impl<T> Send for FutureWrite<T>where
T: Send,
impl<T> Sync for FutureWrite<T>where
T: Sync,
impl<T> !Unpin for FutureWrite<T>
impl<T> UnwindSafe for FutureWrite<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn map<U, F>(self, f: F) -> Map<Self, F> ⓘ
fn map<U, F>(self, f: F) -> Map<Self, F> ⓘ
Map this future’s output to a different type, returning a new future of
the resulting type. Read more
Source§fn map_into<U>(self) -> MapInto<Self, U> ⓘ
fn map_into<U>(self) -> MapInto<Self, U> ⓘ
Map this future’s output to a different type, returning a new future of
the resulting type. Read more
Source§fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> ⓘ
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> ⓘ
Chain on a computation for when a future finished, passing the result of
the future to the provided closure
f
. Read moreSource§fn left_future<B>(self) -> Either<Self, B> ⓘ
fn left_future<B>(self) -> Either<Self, B> ⓘ
Source§fn right_future<A>(self) -> Either<A, Self> ⓘ
fn right_future<A>(self) -> Either<A, Self> ⓘ
Source§fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
Convert this future into a single element stream. Read more
Source§fn flatten(self) -> Flatten<Self> ⓘ
fn flatten(self) -> Flatten<Self> ⓘ
Flatten the execution of this future when the output of this
future is itself another future. Read more
Source§fn flatten_stream(self) -> FlattenStream<Self>
fn flatten_stream(self) -> FlattenStream<Self>
Flatten the execution of this future when the successful result of this
future is a stream. Read more
Source§fn fuse(self) -> Fuse<Self> ⓘwhere
Self: Sized,
fn fuse(self) -> Fuse<Self> ⓘwhere
Self: Sized,
Fuse a future such that
poll
will never again be called once it has
completed. This method can be used to turn any Future
into a
FusedFuture
. Read moreSource§fn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘ
fn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘ
Do something with the output of a future before passing it on. Read more
Source§fn catch_unwind(self) -> CatchUnwind<Self> ⓘwhere
Self: Sized + UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self> ⓘwhere
Self: Sized + UnwindSafe,
Catches unwinding panics while polling the future. Read more
Create a cloneable handle to this future where all handles will resolve
to the same result. Read more
Source§fn remote_handle(self) -> (Remote<Self>, RemoteHandle<Self::Output>)where
Self: Sized,
fn remote_handle(self) -> (Remote<Self>, RemoteHandle<Self::Output>)where
Self: Sized,
Turn this future into a future that yields
()
on completion and sends
its output to another future on a separate task. Read moreSource§fn boxed<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + Send + 'a>>
fn boxed<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + Send + 'a>>
Wrap the future in a Box, pinning it. Read more
Source§fn boxed_local<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a>>where
Self: Sized + 'a,
fn boxed_local<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a>>where
Self: Sized + 'a,
Wrap the future in a Box, pinning it. Read more
Source§fn unit_error(self) -> UnitError<Self> ⓘwhere
Self: Sized,
fn unit_error(self) -> UnitError<Self> ⓘwhere
Self: Sized,
Turns a
Future<Output = T>
into a
TryFuture<Ok = T, Error = ()
>.Source§fn never_error(self) -> NeverError<Self> ⓘwhere
Self: Sized,
fn never_error(self) -> NeverError<Self> ⓘwhere
Self: Sized,
Turns a
Future<Output = T>
into a
TryFuture<Ok = T, Error = Never
>.Source§impl<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§type IntoFuture = F
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more
Source§impl<Fut> TryFutureExt for Fut
impl<Fut> TryFutureExt for Fut
Source§fn flatten_sink<Item>(self) -> FlattenSink<Self, Self::Ok>
fn flatten_sink<Item>(self) -> FlattenSink<Self, Self::Ok>
Source§fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> ⓘ
fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> ⓘ
Maps this future’s success value to a different value. Read more
Source§fn map_ok_or_else<T, E, F>(self, e: E, f: F) -> MapOkOrElse<Self, F, E> ⓘ
fn map_ok_or_else<T, E, F>(self, e: E, f: F) -> MapOkOrElse<Self, F, E> ⓘ
Maps this future’s success value to a different value, and permits for error handling resulting in the same type. Read more
Source§fn map_err<E, F>(self, f: F) -> MapErr<Self, F> ⓘ
fn map_err<E, F>(self, f: F) -> MapErr<Self, F> ⓘ
Maps this future’s error value to a different value. Read more
Source§fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> ⓘ
fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> ⓘ
Executes another future after this one resolves successfully. The
success value is passed to a closure to create this subsequent future. Read more
Source§fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> ⓘ
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> ⓘ
Executes another future if this one resolves to an error. The
error value is passed to a closure to create this subsequent future. Read more
Source§fn inspect_ok<F>(self, f: F) -> InspectOk<Self, F> ⓘ
fn inspect_ok<F>(self, f: F) -> InspectOk<Self, F> ⓘ
Do something with the success value of a future before passing it on. Read more
Source§fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> ⓘ
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> ⓘ
Do something with the error value of a future before passing it on. Read more
Source§fn try_flatten(self) -> TryFlatten<Self, Self::Ok> ⓘ
fn try_flatten(self) -> TryFlatten<Self, Self::Ok> ⓘ
Flatten the execution of this future when the successful result of this
future is another future. Read more
Source§fn try_flatten_stream(self) -> TryFlattenStream<Self>
fn try_flatten_stream(self) -> TryFlattenStream<Self>
Flatten the execution of this future when the successful result of this
future is a stream. Read more