pub struct Body { /* private fields */ }
Expand description
A stream of Bytes
, used when receiving bodies.
A good default HttpBody
to use in many
applications.
Note: To read the full body, use body::to_bytes
or body::aggregate
.
Implementations
sourceimpl Body
impl Body
sourcepub fn empty() -> Body
pub fn empty() -> Body
Create an empty Body
stream.
Example
use hyper::{Body, Request};
// create a `GET /` request
let get = Request::new(Body::empty());
sourcepub fn channel() -> (Sender, Body)
pub fn channel() -> (Sender, Body)
Create a Body
stream with an associated sender half.
Useful when wanting to stream chunks from another thread.
sourcepub fn wrap_stream<S, O, E>(stream: S) -> Body where
S: 'static + Stream<Item = Result<O, E>> + Send,
O: 'static + Into<Bytes>,
E: 'static + Into<Box<dyn Error + Sync + Send + 'static, Global>>,
pub fn wrap_stream<S, O, E>(stream: S) -> Body where
S: 'static + Stream<Item = Result<O, E>> + Send,
O: 'static + Into<Bytes>,
E: 'static + Into<Box<dyn Error + Sync + Send + 'static, Global>>,
Wrap a futures Stream
in a box inside Body
.
Example
let chunks: Vec<Result<_, std::io::Error>> = vec![
Ok("hello"),
Ok(" "),
Ok("world"),
];
let stream = futures_util::stream::iter(chunks);
let body = Body::wrap_stream(stream);
Optional
This function requires enabling the stream
feature in your
Cargo.toml
.
Trait Implementations
sourceimpl Body for Body
impl Body for Body
sourcefn poll_data(
self: Pin<&mut Body>,
cx: &mut Context<'_>
) -> Poll<Option<Result<<Body as Body>::Data, <Body as Body>::Error>>>
fn poll_data(
self: Pin<&mut Body>,
cx: &mut Context<'_>
) -> Poll<Option<Result<<Body as Body>::Data, <Body as Body>::Error>>>
Attempt to pull out the next data buffer of this stream.
sourcefn poll_trailers(
self: Pin<&mut Body>,
cx: &mut Context<'_>
) -> Poll<Result<Option<HeaderMap<HeaderValue>>, <Body as Body>::Error>>
fn poll_trailers(
self: Pin<&mut Body>,
cx: &mut Context<'_>
) -> Poll<Result<Option<HeaderMap<HeaderValue>>, <Body as Body>::Error>>
Poll for an optional single HeaderMap
of trailers. Read more
sourcefn is_end_stream(&self) -> bool
fn is_end_stream(&self) -> bool
Returns true
when the end of stream has been reached. Read more
sourcefn size_hint(&self) -> SizeHint
fn size_hint(&self) -> SizeHint
Returns the bounds on the remaining length of the stream. Read more
sourcefn data(&mut self) -> Data<'_, Self>ⓘNotable traits for Data<'a, T>impl<'a, T> Future for Data<'a, T> where
T: Body + Unpin + ?Sized, type Output = Option<Result<<T as Body>::Data, <T as Body>::Error>>;
where
Self: Unpin,
fn data(&mut self) -> Data<'_, Self>ⓘNotable traits for Data<'a, T>impl<'a, T> Future for Data<'a, T> where
T: Body + Unpin + ?Sized, type Output = Option<Result<<T as Body>::Data, <T as Body>::Error>>;
where
Self: Unpin,
T: Body + Unpin + ?Sized, type Output = Option<Result<<T as Body>::Data, <T as Body>::Error>>;
Returns future that resolves to next data chunk, if any.
sourcefn trailers(&mut self) -> Trailers<'_, Self>ⓘNotable traits for Trailers<'a, T>impl<'a, T> Future for Trailers<'a, T> where
T: Body + Unpin + ?Sized, type Output = Result<Option<HeaderMap<HeaderValue>>, <T as Body>::Error>;
where
Self: Unpin,
fn trailers(&mut self) -> Trailers<'_, Self>ⓘNotable traits for Trailers<'a, T>impl<'a, T> Future for Trailers<'a, T> where
T: Body + Unpin + ?Sized, type Output = Result<Option<HeaderMap<HeaderValue>>, <T as Body>::Error>;
where
Self: Unpin,
T: Body + Unpin + ?Sized, type Output = Result<Option<HeaderMap<HeaderValue>>, <T as Body>::Error>;
Returns future that resolves to trailers, if any.
sourcefn map_data<F, B>(self, f: F) -> MapData<Self, F> where
F: FnMut(Self::Data) -> B,
B: Buf,
fn map_data<F, B>(self, f: F) -> MapData<Self, F> where
F: FnMut(Self::Data) -> B,
B: Buf,
Maps this body’s data value to a different value.
sourcefn map_err<F, E>(self, f: F) -> MapErr<Self, F> where
F: FnMut(Self::Error) -> E,
fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where
F: FnMut(Self::Error) -> E,
Maps this body’s error value to a different value.
sourcefn boxed(self) -> BoxBody<Self::Data, Self::Error> where
Self: 'static + Send + Sync,
fn boxed(self) -> BoxBody<Self::Data, Self::Error> where
Self: 'static + Send + Sync,
Turn this body into a boxed trait object.
sourcefn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error> where
Self: 'static + Send,
fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error> where
Self: 'static + Send,
Turn this body into a boxed trait object that is !Sync.
sourceimpl From<Box<dyn Stream<Item = Result<Bytes, Box<dyn Error + Sync + Send + 'static, Global>>> + Send + 'static, Global>> for Body
impl From<Box<dyn Stream<Item = Result<Bytes, Box<dyn Error + Sync + Send + 'static, Global>>> + Send + 'static, Global>> for Body
Optional
This function requires enabling the stream
feature in your
Cargo.toml
.
sourceimpl Stream for Body
impl Stream for Body
Optional
This function requires enabling the stream
feature in your
Cargo.toml
.
Auto Trait Implementations
impl !RefUnwindSafe for Body
impl Send for Body
impl Sync for Body
impl Unpin for Body
impl !UnwindSafe for Body
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourceimpl<T> StreamExt for T where
T: Stream + ?Sized,
impl<T> StreamExt for T where
T: Stream + ?Sized,
sourcefn next(&mut self) -> Next<'_, Self> where
Self: Unpin,
fn next(&mut self) -> Next<'_, Self> where
Self: Unpin,
Creates a future that resolves to the next item in the stream. Read more
sourcefn into_future(self) -> StreamFuture<Self> where
Self: Unpin,
fn into_future(self) -> StreamFuture<Self> where
Self: Unpin,
sourcefn map<T, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> T,
fn map<T, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> T,
Maps this stream’s items to a different type, returning a new stream of the resulting type. Read more
sourcefn enumerate(self) -> Enumerate<Self>
fn enumerate(self) -> Enumerate<Self>
Creates a stream which gives the current iteration count as well as the next value. Read more
sourcefn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F> where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F> where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
Filters the values produced by this stream according to the provided asynchronous predicate. Read more
sourcefn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = Option<T>>,
fn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = Option<T>>,
Filters the values produced by this stream while simultaneously mapping them to a different type according to the provided asynchronous closure. Read more
sourcefn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future,
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future,
Computes from this stream’s items new items of a different type using an asynchronous closure. Read more
sourcefn collect<C>(self) -> Collect<Self, C> where
C: Default + Extend<Self::Item>,
fn collect<C>(self) -> Collect<Self, C> where
C: Default + Extend<Self::Item>,
Transforms a stream into a collection, returning a future representing the result of that computation. Read more
sourcefn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB> where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Stream<Item = (A, B)>,
fn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB> where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Stream<Item = (A, B)>,
Converts a stream of pairs into a future, which resolves to pair of containers. Read more
sourcefn concat(self) -> Concat<Self> where
Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
Self::Item: IntoIterator,
Self::Item: Default,
fn concat(self) -> Concat<Self> where
Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
Self::Item: IntoIterator,
Self::Item: Default,
Concatenate all items of a stream into a single extendable destination, returning a future representing the end result. Read more
sourcefn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F> where
F: FnMut(T, Self::Item) -> Fut,
Fut: Future<Output = T>,
fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F> where
F: FnMut(T, Self::Item) -> Fut,
Fut: Future<Output = T>,
Execute an accumulating asynchronous computation over a stream, collecting all the values into one final result. Read more
sourcefn flatten(self) -> Flatten<Self> where
Self::Item: Stream,
fn flatten(self) -> Flatten<Self> where
Self::Item: Stream,
Flattens a stream of streams into just one continuous stream. Read more
sourcefn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where
F: FnMut(Self::Item) -> U,
U: Stream,
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> where
F: FnMut(Self::Item) -> U,
U: Stream,
Maps a stream like StreamExt::map
but flattens nested Stream
s. Read more
sourcefn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F> where
F: FnMut(&mut S, Self::Item) -> Fut,
Fut: Future<Output = Option<B>>,
fn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F> where
F: FnMut(&mut S, Self::Item) -> Fut,
Fut: Future<Output = Option<B>>,
Combinator similar to StreamExt::fold
that holds internal state
and produces a new stream. Read more
sourcefn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F> where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F> where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
Skip elements on this stream while the provided asynchronous predicate
resolves to true
. Read more
sourcefn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F> where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F> where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
Take elements from this stream while the provided asynchronous predicate
resolves to true
. Read more
sourcefn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut> where
Fut: Future,
fn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut> where
Fut: Future,
Take elements from this stream until the provided future resolves. Read more
sourcefn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
fn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
Runs this stream to completion, executing the provided asynchronous closure for each element on the stream. Read more
sourcefn for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> ForEachConcurrent<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
fn for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> ForEachConcurrent<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
Runs this stream to completion, executing the provided asynchronous closure for each element on the stream concurrently as elements become available. Read more
sourcefn take(self, n: usize) -> Take<Self>
fn take(self, n: usize) -> Take<Self>
Creates a new stream of at most n
items of the underlying stream. Read more
sourcefn skip(self, n: usize) -> Skip<Self>
fn skip(self, n: usize) -> Skip<Self>
Creates a new stream which skips n
items of the underlying stream. Read more
sourcefn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
Catches unwinding panics while polling the stream. Read more
sourcefn boxed<'a>(
self
) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P> where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a + Send,
fn boxed<'a>(
self
) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P> where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a + Send,
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
Wrap the stream in a Box, pinning it. Read more
sourcefn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P> where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a,
fn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P> where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a,
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
Wrap the stream in a Box, pinning it. Read more
sourcefn buffered(self, n: usize) -> Buffered<Self> where
Self::Item: Future,
fn buffered(self, n: usize) -> Buffered<Self> where
Self::Item: Future,
An adaptor for creating a buffered list of pending futures. Read more
sourcefn buffer_unordered(self, n: usize) -> BufferUnordered<Self> where
Self::Item: Future,
fn buffer_unordered(self, n: usize) -> BufferUnordered<Self> where
Self::Item: Future,
An adaptor for creating a buffered list of pending futures (unordered). Read more
sourcefn zip<St>(self, other: St) -> Zip<Self, St> where
St: Stream,
fn zip<St>(self, other: St) -> Zip<Self, St> where
St: Stream,
An adapter for zipping two streams together. Read more
sourcefn chain<St>(self, other: St) -> Chain<Self, St> where
St: Stream<Item = Self::Item>,
fn chain<St>(self, other: St) -> Chain<Self, St> where
St: Stream<Item = Self::Item>,
Adapter for chaining two streams. Read more
sourcefn peekable(self) -> Peekable<Self>
fn peekable(self) -> Peekable<Self>
Creates a new stream which exposes a peek
method. Read more
sourcefn chunks(self, capacity: usize) -> Chunks<Self>
fn chunks(self, capacity: usize) -> Chunks<Self>
An adaptor for chunking up items of the stream inside a vector. Read more
sourcefn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>
fn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>
An adaptor for chunking up ready items of the stream inside a vector. Read more
sourcefn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
Do something with each item of this stream, afterwards passing it on. Read more
sourcefn left_stream<B>(self) -> Either<Self, B> where
B: Stream<Item = Self::Item>,
fn left_stream<B>(self) -> Either<Self, B> where
B: Stream<Item = Self::Item>,
Wrap this stream in an Either
stream, making it the left-hand variant
of that Either
. Read more
sourcefn right_stream<B>(self) -> Either<B, Self> where
B: Stream<Item = Self::Item>,
fn right_stream<B>(self) -> Either<B, Self> where
B: Stream<Item = Self::Item>,
Wrap this stream in an Either
stream, making it the right-hand variant
of that Either
. Read more
sourcefn poll_next_unpin(&mut self, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> where
Self: Unpin,
fn poll_next_unpin(&mut self, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> where
Self: Unpin,
A convenience method for calling Stream::poll_next
on Unpin
stream types. Read more
sourcefn select_next_some(&mut self) -> SelectNextSome<'_, Self> where
Self: Unpin + FusedStream,
fn select_next_some(&mut self) -> SelectNextSome<'_, Self> where
Self: Unpin + FusedStream,
sourceimpl<St> StreamExt for St where
St: Stream + ?Sized,
impl<St> StreamExt for St where
St: Stream + ?Sized,
sourcefn next(&mut self) -> Next<'_, Self> where
Self: Unpin,
fn next(&mut self) -> Next<'_, Self> where
Self: Unpin,
Consumes and returns the next value in the stream or None
if the
stream is finished. Read more
sourcefn try_next<T, E>(&mut self) -> TryNext<'_, Self> where
Self: Stream<Item = Result<T, E>> + Unpin,
fn try_next<T, E>(&mut self) -> TryNext<'_, Self> where
Self: Stream<Item = Result<T, E>> + Unpin,
Consumes and returns the next item in the stream. If an error is encountered before the next item, the error is returned instead. Read more
sourcefn map<T, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> T,
fn map<T, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> T,
Maps this stream’s items to a different type, returning a new stream of the resulting type. Read more
sourcefn merge<U>(self, other: U) -> Merge<Self, U> where
U: Stream<Item = Self::Item>,
fn merge<U>(self, other: U) -> Merge<Self, U> where
U: Stream<Item = Self::Item>,
Combine two streams into one by interleaving the output of both as it is produced. Read more
sourcefn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool,
fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool,
Filters the values produced by this stream according to the provided predicate. Read more
sourcefn filter_map<T, F>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<T>,
fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<T>,
Filters the values produced by this stream while simultaneously mapping them to a different type according to the provided closure. Read more
sourcefn take(self, n: usize) -> Take<Self>
fn take(self, n: usize) -> Take<Self>
Creates a new stream of at most n
items of the underlying stream. Read more
sourcefn take_while<F>(self, f: F) -> TakeWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
fn take_while<F>(self, f: F) -> TakeWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
Take elements from this stream while the provided predicate
resolves to true
. Read more
sourcefn skip(self, n: usize) -> Skip<Self>
fn skip(self, n: usize) -> Skip<Self>
Creates a new stream that will skip the n
first items of the
underlying stream. Read more
sourcefn skip_while<F>(self, f: F) -> SkipWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
fn skip_while<F>(self, f: F) -> SkipWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
Skip elements from the underlying stream while the provided predicate
resolves to true
. Read more
sourcefn all<F>(&mut self, f: F) -> AllFuture<'_, Self, F> where
Self: Unpin,
F: FnMut(Self::Item) -> bool,
fn all<F>(&mut self, f: F) -> AllFuture<'_, Self, F> where
Self: Unpin,
F: FnMut(Self::Item) -> bool,
Tests if every element of the stream matches a predicate. Read more
sourcefn any<F>(&mut self, f: F) -> AnyFuture<'_, Self, F> where
Self: Unpin,
F: FnMut(Self::Item) -> bool,
fn any<F>(&mut self, f: F) -> AnyFuture<'_, Self, F> where
Self: Unpin,
F: FnMut(Self::Item) -> bool,
Tests if any element of the stream matches a predicate. Read more
sourcefn chain<U>(self, other: U) -> Chain<Self, U> where
U: Stream<Item = Self::Item>,
fn chain<U>(self, other: U) -> Chain<Self, U> where
U: Stream<Item = Self::Item>,
Combine two streams into one by first returning all values from the first stream then all values from the second stream. Read more
sourcefn fold<B, F>(self, init: B, f: F) -> FoldFuture<Self, B, F> where
F: FnMut(B, Self::Item) -> B,
fn fold<B, F>(self, init: B, f: F) -> FoldFuture<Self, B, F> where
F: FnMut(B, Self::Item) -> B,
A combinator that applies a function to every element in a stream producing a single, final value. Read more
sourcefn collect<T>(self) -> Collect<Self, T> where
T: FromStream<Self::Item>,
fn collect<T>(self) -> Collect<Self, T> where
T: FromStream<Self::Item>,
Drain stream pushing all emitted values into a collection. Read more
sourceimpl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>> + ?Sized,
impl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>> + ?Sized,
sourceimpl<S> TryStreamExt for S where
S: TryStream + ?Sized,
impl<S> TryStreamExt for S where
S: TryStream + ?Sized,
sourcefn err_into<E>(self) -> ErrInto<Self, E> where
Self::Error: Into<E>,
fn err_into<E>(self) -> ErrInto<Self, E> where
Self::Error: Into<E>,
Wraps the current stream in a new stream which converts the error type into the one provided. Read more
sourcefn map_ok<T, F>(self, f: F) -> MapOk<Self, F> where
F: FnMut(Self::Ok) -> T,
fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> where
F: FnMut(Self::Ok) -> T,
Wraps the current stream in a new stream which maps the success value using the provided closure. Read more
sourcefn map_err<E, F>(self, f: F) -> MapErr<Self, F> where
F: FnMut(Self::Error) -> E,
fn map_err<E, F>(self, f: F) -> MapErr<Self, F> where
F: FnMut(Self::Error) -> E,
Wraps the current stream in a new stream which maps the error value using the provided closure. Read more
sourcefn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Error = Self::Error>,
fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Error = Self::Error>,
Chain on a computation for when a value is ready, passing the successful
results to the provided closure f
. Read more
sourcefn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> where
F: FnMut(Self::Error) -> Fut,
Fut: TryFuture<Ok = Self::Ok>,
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> where
F: FnMut(Self::Error) -> Fut,
Fut: TryFuture<Ok = Self::Ok>,
Chain on a computation for when an error happens, passing the
erroneous result to the provided closure f
. Read more
sourcefn inspect_ok<F>(self, f: F) -> InspectOk<Self, F> where
F: FnMut(&Self::Ok),
fn inspect_ok<F>(self, f: F) -> InspectOk<Self, F> where
F: FnMut(&Self::Ok),
Do something with the success value of this stream, afterwards passing it on. Read more
sourcefn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
F: FnMut(&Self::Error),
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
F: FnMut(&Self::Error),
Do something with the error value of this stream, afterwards passing it on. Read more
sourcefn into_stream(self) -> IntoStream<Self>
fn into_stream(self) -> IntoStream<Self>
sourcefn try_next(&mut self) -> TryNext<'_, Self> where
Self: Unpin,
fn try_next(&mut self) -> TryNext<'_, Self> where
Self: Unpin,
Creates a future that attempts to resolve the next item in the stream. If an error is encountered before the next item, the error is returned instead. Read more
sourcefn try_for_each<Fut, F>(self, f: F) -> TryForEach<Self, Fut, F> where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = Self::Error>,
fn try_for_each<Fut, F>(self, f: F) -> TryForEach<Self, Fut, F> where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = Self::Error>,
Attempts to run this stream to completion, executing the provided asynchronous closure for each element on the stream. Read more
sourcefn try_skip_while<Fut, F>(self, f: F) -> TrySkipWhile<Self, Fut, F> where
F: FnMut(&Self::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = Self::Error>,
fn try_skip_while<Fut, F>(self, f: F) -> TrySkipWhile<Self, Fut, F> where
F: FnMut(&Self::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = Self::Error>,
Skip elements on this stream while the provided asynchronous predicate
resolves to true
. Read more
sourcefn try_take_while<Fut, F>(self, f: F) -> TryTakeWhile<Self, Fut, F> where
F: FnMut(&Self::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = Self::Error>,
fn try_take_while<Fut, F>(self, f: F) -> TryTakeWhile<Self, Fut, F> where
F: FnMut(&Self::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = Self::Error>,
Take elements on this stream while the provided asynchronous predicate
resolves to true
. Read more
sourcefn try_for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> TryForEachConcurrent<Self, Fut, F> where
F: FnMut(Self::Ok) -> Fut,
Fut: Future<Output = Result<(), Self::Error>>,
fn try_for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> TryForEachConcurrent<Self, Fut, F> where
F: FnMut(Self::Ok) -> Fut,
Fut: Future<Output = Result<(), Self::Error>>,
Attempts to run this stream to completion, executing the provided asynchronous closure for each element on the stream concurrently as elements become available, exiting as soon as an error occurs. Read more
sourcefn try_collect<C>(self) -> TryCollect<Self, C> where
C: Default + Extend<Self::Ok>,
fn try_collect<C>(self) -> TryCollect<Self, C> where
C: Default + Extend<Self::Ok>,
Attempt to transform a stream into a collection, returning a future representing the result of that computation. Read more
sourcefn try_filter<Fut, F>(self, f: F) -> TryFilter<Self, Fut, F> where
Fut: Future<Output = bool>,
F: FnMut(&Self::Ok) -> Fut,
fn try_filter<Fut, F>(self, f: F) -> TryFilter<Self, Fut, F> where
Fut: Future<Output = bool>,
F: FnMut(&Self::Ok) -> Fut,
Attempt to filter the values produced by this stream according to the provided asynchronous closure. Read more
sourcefn try_filter_map<Fut, F, T>(self, f: F) -> TryFilterMap<Self, Fut, F> where
Fut: TryFuture<Ok = Option<T>, Error = Self::Error>,
F: FnMut(Self::Ok) -> Fut,
fn try_filter_map<Fut, F, T>(self, f: F) -> TryFilterMap<Self, Fut, F> where
Fut: TryFuture<Ok = Option<T>, Error = Self::Error>,
F: FnMut(Self::Ok) -> Fut,
Attempt to filter the values produced by this stream while simultaneously mapping them to a different type according to the provided asynchronous closure. Read more
sourcefn try_flatten(self) -> TryFlatten<Self> where
Self::Ok: TryStream,
<Self::Ok as TryStream>::Error: From<Self::Error>,
fn try_flatten(self) -> TryFlatten<Self> where
Self::Ok: TryStream,
<Self::Ok as TryStream>::Error: From<Self::Error>,
Flattens a stream of streams into just one continuous stream. Read more
sourcefn try_fold<T, Fut, F>(self, init: T, f: F) -> TryFold<Self, Fut, T, F> where
F: FnMut(T, Self::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = Self::Error>,
fn try_fold<T, Fut, F>(self, init: T, f: F) -> TryFold<Self, Fut, T, F> where
F: FnMut(T, Self::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = Self::Error>,
Attempt to execute an accumulating asynchronous computation over a stream, collecting all the values into one final result. Read more
sourcefn try_concat(self) -> TryConcat<Self> where
Self::Ok: Extend<<Self::Ok as IntoIterator>::Item>,
Self::Ok: IntoIterator,
Self::Ok: Default,
fn try_concat(self) -> TryConcat<Self> where
Self::Ok: Extend<<Self::Ok as IntoIterator>::Item>,
Self::Ok: IntoIterator,
Self::Ok: Default,
Attempt to concatenate all items of a stream into a single extendable destination, returning a future representing the end result. Read more
sourcefn try_buffer_unordered(self, n: usize) -> TryBufferUnordered<Self> where
Self::Ok: TryFuture,
<Self::Ok as TryFuture>::Error == Self::Error,
fn try_buffer_unordered(self, n: usize) -> TryBufferUnordered<Self> where
Self::Ok: TryFuture,
<Self::Ok as TryFuture>::Error == Self::Error,
Attempt to execute several futures from a stream concurrently (unordered). Read more