pub struct WithTimeout<F> { /* private fields */ }
Implementations§
Source§impl<F> WithTimeout<F>
impl<F> WithTimeout<F>
Sourcepub fn new(inner: F, duration: Duration) -> WithTimeout<F>
pub fn new(inner: F, duration: Duration) -> WithTimeout<F>
Creates a new WithTimeout
which runs inner
for the given duration.
Sourcepub fn new_at(inner: F, instant: Instant) -> WithTimeout<F>
pub fn new_at(inner: F, instant: Instant) -> WithTimeout<F>
Creates a new WithTimeout
which runs inner
until the given instant.
Sourcepub fn into_inner(self) -> F
pub fn into_inner(self) -> F
Unpack the WithTimeout
, returning the inner future or stream.
Trait Implementations§
Source§impl<F> Future for WithTimeout<F>where
F: Future,
impl<F> Future for WithTimeout<F>where
F: Future,
Source§type Item = Option<<F as Future>::Item>
type Item = Option<<F as Future>::Item>
The type of value that this future will resolved with if it is
successful.
Source§type Error = <F as Future>::Error
type Error = <F as Future>::Error
The type of error that this future will resolve with if it fails in a
normal fashion.
Source§fn poll(&mut self) -> Result<Async<Option<F::Item>>, F::Error>
fn poll(&mut self) -> Result<Async<Option<F::Item>>, F::Error>
Query this future to see if its value has become available, registering
interest if it is not. Read more
Source§fn wait(self) -> Result<Self::Item, Self::Error>where
Self: Sized,
fn wait(self) -> Result<Self::Item, Self::Error>where
Self: Sized,
Block the current thread until this future is resolved. Read more
Source§fn map<F, U>(self, f: F) -> Map<Self, F>
fn map<F, U>(self, f: F) -> Map<Self, F>
Map this future’s result to a different type, returning a new future of
the resulting type. Read more
Source§fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
Map this future’s error to a different error, returning a new future. Read more
Source§fn from_err<E>(self) -> FromErr<Self, E>
fn from_err<E>(self) -> FromErr<Self, E>
Map this future’s error to any error implementing
From
for
this future’s Error
, returning a new future. Read moreSource§fn then<F, B>(self, f: F) -> Then<Self, B, F>
fn then<F, B>(self, f: F) -> Then<Self, B, F>
Chain on a computation for when a future finished, passing the result of
the future to the provided closure
f
. Read moreSource§fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F>
fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F>
Execute another future after this one has resolved successfully. Read more
Source§fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F>
fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F>
Execute another future if this one resolves with an error. Read more
Source§fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future>
fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future>
Waits for either one of two futures to complete. Read more
Source§fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future>where
B: IntoFuture,
Self: Sized,
fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future>where
B: IntoFuture,
Self: Sized,
Waits for either one of two differently-typed futures to complete. Read more
Source§fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future>
fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future>
Joins the result of two futures, waiting for them both to complete. Read more
Source§fn join3<B, C>(
self,
b: B,
c: C,
) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future>
fn join3<B, C>( self, b: B, c: C, ) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future>
Same as
join
, but with more futures.Source§fn join4<B, C, D>(
self,
b: B,
c: C,
d: D,
) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
Self: Sized,
fn join4<B, C, D>(
self,
b: B,
c: C,
d: D,
) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
Self: Sized,
Same as
join
, but with more futures.Source§fn join5<B, C, D, E>(
self,
b: B,
c: C,
d: D,
e: E,
) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
E: IntoFuture<Error = Self::Error>,
Self: Sized,
fn join5<B, C, D, E>(
self,
b: B,
c: C,
d: D,
e: E,
) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future>where
B: IntoFuture<Error = Self::Error>,
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
E: IntoFuture<Error = Self::Error>,
Self: Sized,
Same as
join
, but with more futures.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 successful result 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. Read moreSource§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Do something with the item of a future, 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§impl<F> Stream for WithTimeout<F>where
F: Stream,
impl<F> Stream for WithTimeout<F>where
F: Stream,
Source§fn poll(&mut self) -> Result<Async<Option<F::Item>>, F::Error>
fn poll(&mut self) -> Result<Async<Option<F::Item>>, F::Error>
Attempt to pull out the next value of this stream, returning
None
if
the stream is finished. Read moreSource§fn wait(self) -> Wait<Self>where
Self: Sized,
fn wait(self) -> Wait<Self>where
Self: Sized,
Creates an iterator which blocks the current thread until each item of
this stream is resolved. Read more
Source§fn into_future(self) -> StreamFuture<Self>where
Self: Sized,
fn into_future(self) -> StreamFuture<Self>where
Self: Sized,
Converts this stream into a
Future
. Read moreSource§fn filter<F>(self, f: F) -> Filter<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
Filters the values produced by this stream according to the provided
predicate. Read more
Source§fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F>
fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F>
Filters the values produced by this stream while simultaneously mapping
them to a different type. Read more
Source§fn then<F, U>(self, f: F) -> Then<Self, F, U>
fn then<F, U>(self, f: F) -> Then<Self, F, U>
Chain on a computation for when a value is ready, passing the resulting
item to the provided closure
f
. Read moreSource§fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U>
fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U>
Chain on a computation for when a value is ready, passing the successful
results to the provided closure
f
. Read moreSource§fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U>
fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U>
Chain on a computation for when an error happens, passing the
erroneous result to the provided closure
f
. Read moreSource§fn collect(self) -> Collect<Self>where
Self: Sized,
fn collect(self) -> Collect<Self>where
Self: Sized,
Collect all of the values of this stream into a vector, returning a
future representing the result of that computation. Read more
Source§fn concat2(self) -> Concat2<Self>
fn concat2(self) -> Concat2<Self>
Concatenate all results of a stream into a single extendable
destination, returning a future representing the end result. Read more
Source§fn concat(self) -> Concat<Self>
fn concat(self) -> Concat<Self>
👎Deprecated since 0.1.14: please use
Stream::concat2
insteadConcatenate all results of a stream into a single extendable
destination, returning a future representing the end result. Read more
Source§fn fold<F, T, Fut>(self, init: T, f: F) -> Fold<Self, F, Fut, T>where
F: FnMut(T, Self::Item) -> Fut,
Fut: IntoFuture<Item = T>,
Self::Error: From<<Fut as IntoFuture>::Error>,
Self: Sized,
fn fold<F, T, Fut>(self, init: T, f: F) -> Fold<Self, F, Fut, T>where
F: FnMut(T, Self::Item) -> Fut,
Fut: IntoFuture<Item = T>,
Self::Error: From<<Fut as IntoFuture>::Error>,
Self: Sized,
Execute an accumulating computation over a stream, collecting all the
values into one final result. Read more
Source§fn flatten(self) -> Flatten<Self>
fn flatten(self) -> Flatten<Self>
Flattens a stream of streams into just one continuous stream. Read more
Source§fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R>
fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R>
Skip elements on this stream while the predicate provided resolves to
true
. Read moreSource§fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R>
fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R>
Take elements from this stream while the predicate provided resolves to
true
. Read moreSource§fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U>
fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U>
Runs this stream to completion, executing the provided closure for each
element on the stream. Read more
Source§fn from_err<E>(self) -> FromErr<Self, E>
fn from_err<E>(self) -> FromErr<Self, E>
Map this stream’s error to any error implementing
From
for
this stream’s Error
, returning a new stream. Read moreSource§fn take(self, amt: u64) -> Take<Self>where
Self: Sized,
fn take(self, amt: u64) -> Take<Self>where
Self: Sized,
Creates a new stream of at most
amt
items of the underlying stream. Read moreSource§fn skip(self, amt: u64) -> Skip<Self>where
Self: Sized,
fn skip(self, amt: u64) -> Skip<Self>where
Self: Sized,
Creates a new stream which skips
amt
items of the underlying stream. Read moreSource§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Fuse a stream such that
poll
will never again be called once it has
finished. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Borrows a stream, rather than consuming it. 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 stream. Read more
Source§fn buffered(self, amt: usize) -> Buffered<Self>
fn buffered(self, amt: usize) -> Buffered<Self>
An adaptor for creating a buffered list of pending futures. Read more
Source§fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self>
fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self>
An adaptor for creating a buffered list of pending futures (unordered). Read more
Source§fn merge<S>(self, other: S) -> Merge<Self, S>
fn merge<S>(self, other: S) -> Merge<Self, S>
👎Deprecated: functionality provided by
select
nowAn adapter for merging the output of two streams. Read more
Source§fn zip<S>(self, other: S) -> Zip<Self, S>
fn zip<S>(self, other: S) -> Zip<Self, S>
An adapter for zipping two streams together. Read more
Source§fn peekable(self) -> Peekable<Self>where
Self: Sized,
fn peekable(self) -> Peekable<Self>where
Self: Sized,
Creates a new stream which exposes a
peek
method. Read moreSource§fn chunks(self, capacity: usize) -> Chunks<Self>where
Self: Sized,
fn chunks(self, capacity: usize) -> Chunks<Self>where
Self: Sized,
An adaptor for chunking up items of the stream inside a vector. Read more
Source§fn select<S>(self, other: S) -> Select<Self, S>
fn select<S>(self, other: S) -> Select<Self, S>
Creates a stream that selects the next element from either this stream
or the provided one, whichever is ready first. Read more
Source§fn forward<S>(self, sink: S) -> Forward<Self, S>
fn forward<S>(self, sink: S) -> Forward<Self, S>
A future that completes after the given stream has been fully processed
into the sink, including flushing. Read more
Source§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Do something with each item of this stream, afterwards 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 of this stream, afterwards passing it on. Read more
Auto Trait Implementations§
impl<F> Freeze for WithTimeout<F>where
F: Freeze,
impl<F> !RefUnwindSafe for WithTimeout<F>
impl<F> Send for WithTimeout<F>where
F: Send,
impl<F> Sync for WithTimeout<F>where
F: Sync,
impl<F> Unpin for WithTimeout<F>where
F: Unpin,
impl<F> !UnwindSafe for WithTimeout<F>
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 Twhere
T: Future,
impl<T> FutureExt for Twhere
T: Future,
Source§fn into_boxed(self) -> BoxFuture<Self::Item, Self::Error>where
Self: 'static,
fn into_boxed(self) -> BoxFuture<Self::Item, Self::Error>where
Self: 'static,
Wraps a future into a boxed future, making type-checking easier at the expense of an extra
layer of indirection at runtime.
fn into_send_boxed(self) -> BoxSendFuture<Self::Item, Self::Error>where
Self: Send + 'static,
Source§fn until<C>(self, condition: C) -> Until<Self, C>
fn until<C>(self, condition: C) -> Until<Self, C>
Run this future until some condition is met. If
condition
resolves before self
then
None
is returned. Read moreSource§fn infallible<E>(self) -> Infallible<Self, E>
fn infallible<E>(self) -> Infallible<Self, E>
For futures which can’t fail (ie. which have error type
Void
), cast the error type to
some inferred type.Source§fn log_error(self, level: LogLevel, description: &'static str) -> LogError<Self>
fn log_error(self, level: LogLevel, description: &'static str) -> LogError<Self>
Take a future which returns
()
and log its error if it fails. The returned future cannot
fail and will always resolve to ()
.Source§fn finally<D>(self, on_drop: D) -> Finally<Self, D>where
D: FnOnce(),
fn finally<D>(self, on_drop: D) -> Finally<Self, D>where
D: FnOnce(),
Executes the future and runs the provided callback when the future finishes. The callback
will also be run if the entire future is dropped.
Source§fn with_timeout(self, duration: Duration) -> WithTimeout<Self>
fn with_timeout(self, duration: Duration) -> WithTimeout<Self>
Runs the future for the given duration, returning its value in an option, or returning
None
if the timeout expires.Source§fn with_timeout_at(self, instant: Instant) -> WithTimeout<Self>
fn with_timeout_at(self, instant: Instant) -> WithTimeout<Self>
Runs the future until the given instant, returning its value in an option, or returning
None
if the timeout expires.Source§fn first_ok2<F>(self, other: F) -> FirstOk2<Self, F>
fn first_ok2<F>(self, other: F) -> FirstOk2<Self, F>
Run two futures in parallel and yield the value of the first to return success. If both
futures fail, return both errors.
Source§fn while_driving<F: Future>(self, other: F) -> WhileDriving<Self, F>
fn while_driving<F: Future>(self, other: F) -> WhileDriving<Self, F>
Resolves
self
while driving other
in parallel.Source§fn resume_unwind(self) -> ResumeUnwind<Self>
fn resume_unwind(self) -> ResumeUnwind<Self>
Propogates the result of a
.catch_unwind
, panicking if the future resolves to an Err
Source§impl<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§fn into_future(self) -> F
fn into_future(self) -> F
Consumes this object and produces a future.
Source§impl<T> StreamExt for Twhere
T: Stream,
impl<T> StreamExt for Twhere
T: Stream,
Source§fn into_boxed(self) -> BoxStream<Self::Item, Self::Error>where
Self: 'static,
fn into_boxed(self) -> BoxStream<Self::Item, Self::Error>where
Self: 'static,
Wraps a stream into a boxed stream, making type-checking easier at the expense of an extra
layer of indirection at runtime.
fn into_send_boxed(self) -> BoxSendStream<Self::Item, Self::Error>where
Self: Send + 'static,
Source§fn until<C>(self, condition: C) -> Until<Self, C>
fn until<C>(self, condition: C) -> Until<Self, C>
Run this stream until some condition is met.
condition
is a future which returns ()
,
after which this stream will be finished. Read moreSource§fn first_ok(self) -> FirstOk<Self>
fn first_ok(self) -> FirstOk<Self>
Adapts a stream to a future by taking the first successful item yielded by the stream. If
the stream ends before yielding an
Ok
then all the errors that were yielded by the stream
are returned in a vector.Source§fn log_errors(
self,
level: LogLevel,
description: &'static str,
) -> LogErrors<Self>
fn log_errors( self, level: LogLevel, description: &'static str, ) -> LogErrors<Self>
Removes the errors from this stream and log them.
description
is prepended to the log
messages. The returned stream has error type Void
since the errors have been removed.Source§fn infallible<E>(self) -> Infallible<Self, E>
fn infallible<E>(self) -> Infallible<Self, E>
For streams which can’t fail (ie. which have error type
Void
), cast the error type to
some inferred type.Source§fn next_or_else<F, E>(self, f: F) -> NextOrElse<Self, F>
fn next_or_else<F, E>(self, f: F) -> NextOrElse<Self, F>
Returns a future which returns the next item from the stream, along with the stream itself.
If the stream errors then just the error is returned. If the stream ends then the provided
closure is used to produce an error value.
Source§fn finally<D>(self, on_drop: D) -> Finally<Self, D>where
D: FnOnce(),
fn finally<D>(self, on_drop: D) -> Finally<Self, D>where
D: FnOnce(),
Yields items from the stream and runs the provided callback when the stream finishes. The
callback will also be run if the entire stream is dropped.
Source§fn with_timeout(self, duration: Duration) -> WithTimeout<Self>
fn with_timeout(self, duration: Duration) -> WithTimeout<Self>
Runs the stream for the given duration.
Source§fn with_timeout_at(self, instant: Instant) -> WithTimeout<Self>
fn with_timeout_at(self, instant: Instant) -> WithTimeout<Self>
Runs the stream until the given timeout.
fn with_readiness_timeout( self, duration: Duration, ) -> WithReadinessTimeout<Self>
Source§impl<T> StreamExt for T
impl<T> StreamExt for T
Source§fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
Throttle down the stream by enforcing a fixed delay between items. Read more