<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="A stream of Messages from a websocket client"><title>MessageStream in actix_ws - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><linkrel="stylesheet"href="../static.files/normalize-76eba96aa4d2e634.css"><linkrel="stylesheet"href="../static.files/rustdoc-9ee3a5e31a2afa3e.css"><metaname="rustdoc-vars"data-root-path="../"data-static-root-path="../static.files/"data-current-crate="actix_ws"data-themes=""data-resource-suffix=""data-rustdoc-version="1.76.0-nightly (9a66e4471 2023-11-19)"data-channel="nightly"data-search-js="search-d23a059ec093b287.js"data-settings-js="settings-74424d7eec62a23e.js"><scriptsrc="../static.files/storage-fec3eaa3851e447d.js"></script><scriptdefersrc="sidebar-items.js"></script><scriptdefersrc="../static.files/main-f06f02fd918e3bb3.js"></script><noscript><linkrel="stylesheet"href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><linkrel="icon"href="https://actix.rs/favicon.ico"></head><bodyclass="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="logo-container"href="../actix_ws/index.html"><imgsrc="https://actix.rs/img/logo.png"alt=""></a></nav><navclass="sidebar"><divclass="sidebar-crate"><aclass="logo-container"href="../actix_ws/index.html"><imgsrc="https://actix.rs/img/logo.png"alt="logo"></a><h2><ahref="../actix_ws/index.html">actix_ws</a><spanclass="version">0.2.0</span></h2></div><h2class="location"><ahref="#">MessageStream</a></h2><divclass="sidebar-elems"><section><h3><ahref="#implementations">Methods</a></h3><ulclass="block method"><li><ahref="#method.recv">recv</a></li></ul><h3><ahref="#trait-implementations">Trait Implementations</a></h3><ulclass="block trait-implementation"><li><ahref="#impl-Stream-for-MessageStream">Stream</a></li></ul><h3><ahref="#synthetic-implementations">Auto Trait Implementations</a></h3><ulclass="block synthetic-implementation"><li><ahref="#impl-RefUnwindSafe-for-MessageStream">!RefUnwindSafe</a></li><li><ahref="#impl-Send-for-MessageStream">!Send</a></li><li><ahref="#impl-Sync-for-MessageStream">!Sync</a></li><li><ahref="#impl-UnwindSafe-for-MessageStream">!UnwindSafe</a></li><li><ahref="#impl-Unpin-for-MessageStream">Unpin</a></li></ul><h3><ahref="#blanket-implementations">Blanket Implementations</a></h3><ulclass="block blanket-implementation"><li><ahref="#impl-Any-for-T">Any</a></li><li><ahref="#impl-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><ahref="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><ahref="#impl-From%3CT%3E-for-T">From<T></a></li><li><ahref="#impl-Instrument-for-T">Instrument</a></li><li><ahref="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><ahref="#impl-Same-for-T">Same</a></li><li><ahref="#impl-StreamExt-for-T">StreamExt</a></li><li><ahref="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><ahref="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><ahref="#impl-TryStream-for-S">TryStream</a></li><li><ahref="#impl-TryStreamExt-for-S">TryStreamExt</a></li><li><ahref="#impl-VZip%3CV%3E-for-T">VZip<V></a></li><li><ahref="#impl-WithSubscriber-fo
<p>Messages can be accessed via the stream’s <code>.next()</code> method</p>
</div></details><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor">§</a></h2><divid="implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-MessageStream"class="impl"><aclass="src rightside"href="../src/actix_ws/fut.rs.html#55-76">source</a><ahref="#impl-MessageStream"class="anchor">§</a><h3class="code-header">impl <aclass="struct"href="struct.MessageStream.html"title="struct actix_ws::MessageStream">MessageStream</a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.recv"class="method"><aclass="src rightside"href="../src/actix_ws/fut.rs.html#73-75">source</a><h4class="code-header">pub async fn <ahref="#method.recv"class="fn">recv</a>(&mut self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="enum"href="enum.Message.html"title="enum actix_ws::Message">Message</a>, <aclass="enum"href="enum.ProtocolError.html"title="enum actix_ws::ProtocolError">ProtocolError</a>>></h4></section></summary><divclass="docblock"><p>Wait for the next item from the message stream</p>
<divclass="example-wrap ignore"><ahref="#"class="tooltip"title="This example is not tested">ⓘ</a><preclass="rust rust-example-rendered"><code><spanclass="kw">while let </span><spanclass="prelude-val">Some</span>(<spanclass="prelude-val">Ok</span>(msg)) = stream.recv().<spanclass="kw">await </span>{
<spanclass="comment">// handle message
</span>}</code></pre></div>
</div></details></div></details></div><h2id="trait-implementations"class="small-section-header">Trait Implementations<ahref="#trait-implementations"class="anchor">§</a></h2><divid="trait-implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Stream-for-MessageStream"class="impl"><aclass="src rightside"href="../src/actix_ws/fut.rs.html#115-183">source</a><ahref="#impl-Stream-for-MessageStream"class="anchor">§</a><h3class="code-header">impl Stream for <aclass="struct"href="struct.MessageStream.html"title="struct actix_ws::MessageStream">MessageStream</a></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Item"class="associatedtype trait-impl"><ahref="#associatedtype.Item"class="anchor">§</a><h4class="code-header">type <aclass="associatedtype">Item</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="enum"href="enum.Message.html"title="enum actix_ws::Message">Message</a>, <aclass="enum"href="enum.ProtocolError.html"title="enum actix_ws::ProtocolError">ProtocolError</a>></h4></section></summary><divclass='docblock'>Values yielded by the stream.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.poll_next"class="method trait-impl"><aclass="src rightside"href="../src/actix_ws/fut.rs.html#118-182">source</a><ahref="#method.poll_next"class="anchor">§</a><h4class="code-header">fn <aclass="fn">poll_next</a>(
) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/task/poll/enum.Poll.html"title="enum core::task::poll::Poll">Poll</a><<aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><Self::Item>></h4></section></summary><divclass='docblock'>Attempt to pull out the next value of this stream, registering the
current task for wakeup if the value is not yet available, and returning
<code>None</code> if the stream is exhausted. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.size_hint"class="method trait-impl"><ahref="#method.size_hint"class="anchor">§</a><h4class="code-header">fn <aclass="fn">size_hint</a>(&self) -> (<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>)</h4></section></summary><divclass='docblock'>Returns the bounds on the remaining length of the stream. <a>Read more</a></div></details></div></details></div><h2id="synthetic-implementations"class="small-section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor">§</a></h2><divid="synthetic-implementations-list"><sectionid="impl-RefUnwindSafe-for-MessageStream"class="impl"><ahref="#impl-RefUnwindSafe-for-MessageStream"class="anchor">§</a><h3class="code-header">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html"title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"href="struct.MessageStream.html"title="struct actix_ws::MessageStream">MessageStream</a></h3></section><sectionid="impl-Send-for-MessageStream"class="impl"><ahref="#impl-Send-for-MessageStream"class="anchor">§</a><h3class="code-header">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="struct.MessageStream.html"title="struct actix_ws::MessageStream">MessageStream</a></h3></section><sectionid="impl-Sync-for-MessageStream"class="impl"><ahref="#impl-Sync-for-MessageStream"class="anchor">§</a><h3class="code-header">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="struct.MessageStream.html"title="struct actix_ws::MessageStream">MessageStream</a></h3></section><sectionid="impl-Unpin-for-MessageStream"class="impl"><ahref="#impl-Unpin-for-MessageStream"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="struct.MessageStream.html"title="struct actix_ws::MessageStream">MessageStream</a></h3></section><sectionid="impl-UnwindSafe-for-MessageStream"class="impl"><ahref="#impl-UnwindSafe-for-MessageStream"class="anchor">§</a><h3class="code-header">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html"title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <aclass="struct"href="struct.MessageStream.html"title="struct actix_ws::MessageStream">MessageStream</a></h3></section></div><h2id="blanket-implementations"class="small-section-header">Blanket Implementations<ahref="#blanket-implementations"class="anchor">§</a></h2><divid="blanket-implementations-list"><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Any-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#135">source</a><ahref="#impl-Any-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T<spanclass="where fmt-newline">where
T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#136">source</a><ahref="#method.type_id"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id"class="fn">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></h4></section></summary><divclass='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Borrow%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208">source</a><ahref="#impl-Borrow%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T<spanclass="where fmt-newline">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><ahref="#method.borrow"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow"class="fn">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a></h4></section></summary><divclass='docblock'>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-BorrowMut%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216">source</a><ahref="#impl-BorrowMut%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<spanclass="where fmt-newline">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow_mut"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><ahref="#method.borrow_mut"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fn">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut T</a></h4></section></summary><divclass='docblock'>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-From%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#763">source</a><ahref="#impl-From%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#766">source</a><ahref="#method.from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from"class="fn">from</a>(t: T) -> T</h4></section></summary><divclass="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Instrument-for-T"class="impl"><ahref="#impl-Instrument-for-T"class="anchor">§</a><h3class="code-header">impl<T> Instrument for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.instrument"class="method trait-impl"><ahref="#method.instrument"class="anchor">§</a><h4class="code-header">fn <aclass="fn">instrument</a>(self, span: Span) -> Instrumented<Self></h4></section></summary><divclass='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.in_current_span"class="method trait-impl"><ahref="#method.in_current_span"class="anchor">§</a><h4class="code-header">fn <aclass="fn">in_current_span</a>(self) -> Instrumented<Self></h4></section></summary><divclass='docblock'>Instruments this type with the <ahref="super::Span::current()">current</a><ahref="crate::Span"><code>Span</code></a>, returning an
<p>That is, this conversion is whatever the implementation of
<code><ahref="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Same-for-T"class="impl"><aclass="src rightside"href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><ahref="#impl-Same-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html"title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Output"class="associatedtype trait-impl"><ahref="#associatedtype.Output"class="anchor">§</a><h4class="code-header">type <ahref="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output"class="associatedtype">Output</a> = T</h4></section></summary><divclass='docblock'>Should always be <code>Self</code></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-StreamExt-for-T"class="impl"><ahref="#impl-StreamExt-for-T"class="anchor">§</a><h3class="code-header">impl<T> StreamExt for T<spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a>,</span></h4></section></summary><divclass='docblock'>Creates a future that resolves to the next item in the stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.into_future"class="method trait-impl"><ahref="#method.into_future"class="anchor">§</a><h4class="code-header">fn <aclass="fn">into_future</a>(self) -> StreamFuture<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a>,</span></h4></section></summary><divclass='docblock'>Converts this stream into a future of <code>(next_item, tail_of_stream)</code>.
If the stream terminates, then the next item is <ahref="https://doc.rust-lang.org/nightly/core/option/enum.Option.html#variant.None"title="variant core::option::Option::None"><code>None</code></a>. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.map"class="method trait-impl"><ahref="#method.map"class="anchor">§</a><h4class="code-header">fn <aclass="fn">map</a><T, F>(self, f: F) -> Map<Self, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Maps this stream’s items to a different type, returning a new stream of
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Creates a stream which gives the current iteration count as well as
the next value. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.filter"class="method trait-impl"><ahref="#method.filter"class="anchor">§</a><h4class="code-header">fn <aclass="fn">filter</a><Fut, F>(self, f: F) -> Filter<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Filters the values produced by this stream according to the provided
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Filters the values produced by this stream while simultaneously mapping
them to a different type according to the provided asynchronous closure. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.then"class="method trait-impl"><ahref="#method.then"class="anchor">§</a><h4class="code-header">fn <aclass="fn">then</a><Fut, F>(self, f: F) -> Then<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Computes from this stream’s items new items of a different type using
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Transforms a stream into a collection, returning a
future representing the result of that computation. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.unzip"class="method trait-impl"><ahref="#method.unzip"class="anchor">§</a><h4class="code-header">fn <aclass="fn">unzip</a><A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a> + Stream<Item = <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B)</a>>,</span></h4></section></summary><divclass='docblock'>Converts a stream of pairs into a future, which
resolves to pair of containers. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.concat"class="method trait-impl"><ahref="#method.concat"class="anchor">§</a><h4class="code-header">fn <aclass="fn">concat</a>(self) -> Concat<Self><spanclass="where fmt-newline">where
Self::Item: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html"title="trait core::iter::traits::collect::Extend">Extend</a><<Self::Item as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item"title="type core::iter::traits::collect::IntoIterator::Item">Item</a>> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html"title="trait core::default::Default">Default</a>,</span></h4></section></summary><divclass='docblock'>Concatenate all items of a stream into a single extendable
destination, returning a future representing the end result. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.count"class="method trait-impl"><ahref="#method.count"class="anchor">§</a><h4class="code-header">fn <aclass="fn">count</a>(self) -> Count<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Drives the stream to completion, counting the number of items. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.cycle"class="method trait-impl"><ahref="#method.cycle"class="anchor">§</a><h4class="code-header">fn <aclass="fn">cycle</a>(self) -> Cycle<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Execute an accumulating asynchronous computation over a stream,
collecting all the values into one final result. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.any"class="method trait-impl"><ahref="#method.any"class="anchor">§</a><h4class="code-header">fn <aclass="fn">any</a><Fut, F>(self, f: F) -> Any<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Execute predicate over asynchronous stream, and return <code>true</code> if any element in stream satisfied a predicate. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.all"class="method trait-impl"><ahref="#method.all"class="anchor">§</a><h4class="code-header">fn <aclass="fn">all</a><Fut, F>(self, f: F) -> All<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Execute predicate over asynchronous stream, and return <code>true</code> if all element in stream satisfied a predicate. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.flatten"class="method trait-impl"><ahref="#method.flatten"class="anchor">§</a><h4class="code-header">fn <aclass="fn">flatten</a>(self) -> Flatten<Self><spanclass="where fmt-newline">where
Self::Item: Stream,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Flattens a stream of streams into just one continuous stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.flatten_unordered"class="method trait-impl"><ahref="#method.flatten_unordered"class="anchor">§</a><h4class="code-header">fn <aclass="fn">flatten_unordered</a>(
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Flattens a stream of streams into just one continuous stream. Polls
inner streams produced by the base stream concurrently. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.flat_map"class="method trait-impl"><ahref="#method.flat_map"class="anchor">§</a><h4class="code-header">fn <aclass="fn">flat_map</a><U, F>(self, f: F) -> FlatMap<Self, U, F><spanclass="where fmt-newline">where
F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(Self::Item) -> U,
U: Stream,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Maps a stream like [<code>StreamExt::map</code>] but flattens nested <code>Stream</code>s. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.flat_map_unordered"class="method trait-impl"><ahref="#method.flat_map_unordered"class="anchor">§</a><h4class="code-header">fn <aclass="fn">flat_map_unordered</a><U, F>(
F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(Self::Item) -> U,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Maps a stream like [<code>StreamExt::map</code>] but flattens nested <code>Stream</code>s
and polls them concurrently, yielding items in any order, as they made
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Combinator similar to [<code>StreamExt::fold</code>] that holds internal state
and produces a new stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.skip_while"class="method trait-impl"><ahref="#method.skip_while"class="anchor">§</a><h4class="code-header">fn <aclass="fn">skip_while</a><Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Skip elements on this stream while the provided asynchronous predicate
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Take elements from this stream while the provided asynchronous predicate
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Take elements from this stream until the provided future resolves. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.for_each"class="method trait-impl"><ahref="#method.for_each"class="anchor">§</a><h4class="code-header">fn <aclass="fn">for_each</a><Fut, F>(self, f: F) -> ForEach<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Runs this stream to completion, executing the provided asynchronous
closure for each element on the stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.for_each_concurrent"class="method trait-impl"><ahref="#method.for_each_concurrent"class="anchor">§</a><h4class="code-header">fn <aclass="fn">for_each_concurrent</a><Fut, F>(
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Runs this stream to completion, executing the provided asynchronous
closure for each element on the stream concurrently as elements become
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Creates a new stream of at most <code>n</code> items of the underlying stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.skip"class="method trait-impl"><ahref="#method.skip"class="anchor">§</a><h4class="code-header">fn <aclass="fn">skip</a>(self, n: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Skip<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Creates a new stream which skips <code>n</code> items of the underlying stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.fuse"class="method trait-impl"><ahref="#method.fuse"class="anchor">§</a><h4class="code-header">fn <aclass="fn">fuse</a>(self) -> Fuse<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Fuse a stream such that <ahref="Stream::poll_next"><code>poll_next</code></a> will never
again be called once it has finished. This method can be used to turn
any <code>Stream</code> into a <code>FusedStream</code>. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.by_ref"class="method trait-impl"><ahref="#method.by_ref"class="anchor">§</a><h4class="code-header">fn <aclass="fn">by_ref</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</a></h4></section></summary><divclass='docblock'>Borrows a stream, rather than consuming it. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.catch_unwind"class="method trait-impl"><ahref="#method.catch_unwind"class="anchor">§</a><h4class="code-header">fn <aclass="fn">catch_unwind</a>(self) -> CatchUnwind<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>An adaptor for creating a buffered list of pending futures (unordered). <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.zip"class="method trait-impl"><ahref="#method.zip"class="anchor">§</a><h4class="code-header">fn <aclass="fn">zip</a><St>(self, other: St) -> Zip<Self, St><spanclass="where fmt-newline">where
St: Stream,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>An adapter for zipping two streams together. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.chain"class="method trait-impl"><ahref="#method.chain"class="anchor">§</a><h4class="code-header">fn <aclass="fn">chain</a><St>(self, other: St) -> Chain<Self, St><spanclass="where fmt-newline">where
St: Stream<Item = Self::Item>,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Adapter for chaining two streams. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.peekable"class="method trait-impl"><ahref="#method.peekable"class="anchor">§</a><h4class="code-header">fn <aclass="fn">peekable</a>(self) -> Peekable<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Creates a new stream which exposes a <code>peek</code> method. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.chunks"class="method trait-impl"><ahref="#method.chunks"class="anchor">§</a><h4class="code-header">fn <aclass="fn">chunks</a>(self, capacity: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Chunks<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>An adaptor for chunking up items of the stream inside a vector. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.ready_chunks"class="method trait-impl"><ahref="#method.ready_chunks"class="anchor">§</a><h4class="code-header">fn <aclass="fn">ready_chunks</a>(self, capacity: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> ReadyChunks<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>An adaptor for chunking up ready items of the stream inside a vector. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.forward"class="method trait-impl"><ahref="#method.forward"class="anchor">§</a><h4class="code-header">fn <aclass="fn">forward</a><S>(self, sink: S) -> Forward<Self, S><spanclass="where fmt-newline">where
S: Sink<Self::Ok, Error = Self::Error>,
Self: TryStream + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>A future that completes after the given stream has been fully processed
into the sink and the sink has been flushed and closed. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.split"class="method trait-impl"><ahref="#method.split"class="anchor">§</a><h4class="code-header">fn <aclass="fn">split</a><Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>)<spanclass="where fmt-newline">where
Self: Sink<Item> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Splits this <code>Stream + Sink</code> object into separate <code>Sink</code> and <code>Stream</code>
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Do something with each item of this stream, afterwards passing it on. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.left_stream"class="method trait-impl"><ahref="#method.left_stream"class="anchor">§</a><h4class="code-header">fn <aclass="fn">left_stream</a><B>(self) -> Either<Self, B><spanclass="where fmt-newline">where
B: Stream<Item = Self::Item>,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Wrap this stream in an <code>Either</code> stream, making it the left-hand variant
of that <code>Either</code>. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.right_stream"class="method trait-impl"><ahref="#method.right_stream"class="anchor">§</a><h4class="code-header">fn <aclass="fn">right_stream</a><B>(self) -> Either<B, Self><spanclass="where fmt-newline">where
B: Stream<Item = Self::Item>,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Wrap this stream in an <code>Either</code> stream, making it the right-hand variant
of that <code>Either</code>. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.poll_next_unpin"class="method trait-impl"><ahref="#method.poll_next_unpin"class="anchor">§</a><h4class="code-header">fn <aclass="fn">poll_next_unpin</a>(&mut self, cx: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/core/task/wake/struct.Context.html"title="struct core::task::wake::Context">Context</a><'_>) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/task/poll/enum.Poll.html"title="enum core::task::poll::Poll">Poll</a><<aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><Self::Item>><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a>,</span></h4></section></summary><divclass='docblock'>A convenience method for calling [<code>Stream::poll_next</code>] on <ahref="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin"><code>Unpin</code></a>
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> + FusedStream,</span></h4></section></summary><divclass='docblock'>Returns a <ahref="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"title="trait core::future::future::Future"><code>Future</code></a> that resolves when the next item in this stream is
ready. <a>Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryFrom%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#803-805">source</a><ahref="#impl-TryFrom%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T<spanclass="where fmt-newline">where
U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>,</span></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-1"class="associatedtype trait-impl"><ahref="#associatedtype.Error-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#810">source</a><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryInto%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#788-790">source</a><ahref="#impl-TryInto%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T<spanclass="where fmt-newline">where
U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>,</span></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#795">source</a><ahref="#method.try_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into"class="fn">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryStream-for-S"class="impl"><ahref="#impl-TryStream-for-S"class="anchor">§</a><h3class="code-header">impl<S, T, E> TryStream for S<spanclass="where fmt-newline">where
S: Stream<Item = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, E>> + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Ok"class="associatedtype trait-impl"><ahref="#associatedtype.Ok"class="anchor">§</a><h4class="code-header">type <aclass="associatedtype">Ok</a> = T</h4></section></summary><divclass='docblock'>The type of successful values yielded by this future</div></details><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-2"class="associatedtype trait-impl"><ahref="#associatedtype.Error-2"class="anchor">§</a><h4class="code-header">type <aclass="associatedtype">Error</a> = E</h4></section></summary><divclass='docblock'>The type of failures yielded by this future</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_poll_next"class="method trait-impl"><ahref="#method.try_poll_next"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_poll_next</a>(
) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/task/poll/enum.Poll.html"title="enum core::task::poll::Poll">Poll</a><<aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<S as TryStream>::Ok, <S as TryStream>::Error>>></h4></section></summary><divclass='docblock'>Poll this <code>TryStream</code> as if it were a <code>Stream</code>. <a>Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryStreamExt-for-S"class="impl"><ahref="#impl-TryStreamExt-for-S"class="anchor">§</a><h3class="code-header">impl<S> TryStreamExt for S<spanclass="where fmt-newline">where
Self::Error: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><E>,</span></h4></section></summary><divclass='docblock'>Wraps the current stream in a new stream which converts the error type
into the one provided. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.map_ok"class="method trait-impl"><ahref="#method.map_ok"class="anchor">§</a><h4class="code-header">fn <aclass="fn">map_ok</a><T, F>(self, f: F) -> MapOk<Self, F><spanclass="where fmt-newline">where
F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(Self::Ok) -> T,</span></h4></section></summary><divclass='docblock'>Wraps the current stream in a new stream which maps the success value
using the provided closure. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.map_err"class="method trait-impl"><ahref="#method.map_err"class="anchor">§</a><h4class="code-header">fn <aclass="fn">map_err</a><E, F>(self, f: F) -> MapErr<Self, F><spanclass="where fmt-newline">where
F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(Self::Error) -> E,</span></h4></section></summary><divclass='docblock'>Wraps the current stream in a new stream which maps the error value
using the provided closure. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.and_then"class="method trait-impl"><ahref="#method.and_then"class="anchor">§</a><h4class="code-header">fn <aclass="fn">and_then</a><Fut, F>(self, f: F) -> AndThen<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Chain on a computation for when a value is ready, passing the successful
results to the provided closure <code>f</code>. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.or_else"class="method trait-impl"><ahref="#method.or_else"class="anchor">§</a><h4class="code-header">fn <aclass="fn">or_else</a><Fut, F>(self, f: F) -> OrElse<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Chain on a computation for when an error happens, passing the
erroneous result to the provided closure <code>f</code>. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.inspect_ok"class="method trait-impl"><ahref="#method.inspect_ok"class="anchor">§</a><h4class="code-header">fn <aclass="fn">inspect_ok</a><F>(self, f: F) -> InspectOk<Self, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Do something with the success value of this stream, afterwards passing
it on. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.inspect_err"class="method trait-impl"><ahref="#method.inspect_err"class="anchor">§</a><h4class="code-header">fn <aclass="fn">inspect_err</a><F>(self, f: F) -> InspectErr<Self, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Do something with the error value of this stream, afterwards passing it on. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.into_stream"class="method trait-impl"><ahref="#method.into_stream"class="anchor">§</a><h4class="code-header">fn <aclass="fn">into_stream</a>(self) -> IntoStream<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Wraps a [<code>TryStream</code>] into a type that implements
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a>,</span></h4></section></summary><divclass='docblock'>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
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Attempts to run this stream to completion, executing the provided
asynchronous closure for each element on the stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_skip_while"class="method trait-impl"><ahref="#method.try_skip_while"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_skip_while</a><Fut, F>(self, f: F) -> TrySkipWhile<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Skip elements on this stream while the provided asynchronous predicate
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Take elements on this stream while the provided asynchronous predicate
resolves to <code>true</code>. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_for_each_concurrent"class="method trait-impl"><ahref="#method.try_for_each_concurrent"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_for_each_concurrent</a><Fut, F>(
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>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. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_collect"class="method trait-impl"><ahref="#method.try_collect"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_collect</a><C>(self) -> TryCollect<Self, C><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Attempt to transform a stream into a collection,
returning a future representing the result of that computation. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_chunks"class="method trait-impl"><ahref="#method.try_chunks"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_chunks</a>(self, capacity: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> TryChunks<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>An adaptor for chunking up successful items of the stream inside a vector. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_ready_chunks"class="method trait-impl"><ahref="#method.try_ready_chunks"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_ready_chunks</a>(self, capacity: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> TryReadyChunks<Self><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>An adaptor for chunking up successful, ready items of the stream inside a vector. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_filter"class="method trait-impl"><ahref="#method.try_filter"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_filter</a><Fut, F>(self, f: F) -> TryFilter<Self, Fut, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Attempt to filter the values produced by this stream according to the
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Attempt to filter the values produced by this stream while
simultaneously mapping them to a different type according to the
<Self::Ok as TryStream>::Error: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><Self::Error>,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Flattens a stream of streams into just one continuous stream. Produced streams
will be polled concurrently and any errors will be passed through without looking at them.
If the underlying base stream returns an error, it will be <strong>immediately</strong> propagated. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_flatten"class="method trait-impl"><ahref="#method.try_flatten"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_flatten</a>(self) -> TryFlatten<Self><spanclass="where fmt-newline">where
Self::Ok: TryStream,
<Self::Ok as TryStream>::Error: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><Self::Error>,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Flattens a stream of streams into just one continuous stream. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_fold"class="method trait-impl"><ahref="#method.try_fold"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_fold</a><T, Fut, F>(self, init: T, f: F) -> TryFold<Self, Fut, T, F><spanclass="where fmt-newline">where
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Attempt to execute an accumulating asynchronous computation over a
stream, collecting all the values into one final result. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_concat"class="method trait-impl"><ahref="#method.try_concat"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_concat</a>(self) -> TryConcat<Self><spanclass="where fmt-newline">where
Self::Ok: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html"title="trait core::iter::traits::collect::Extend">Extend</a><<Self::Ok as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item"title="type core::iter::traits::collect::IntoIterator::Item">Item</a>> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html"title="trait core::default::Default">Default</a>,</span></h4></section></summary><divclass='docblock'>Attempt to concatenate all items of a stream into a single
extendable destination, returning a future representing the end result. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_buffer_unordered"class="method trait-impl"><ahref="#method.try_buffer_unordered"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_buffer_unordered</a>(self, n: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> TryBufferUnordered<Self><spanclass="where fmt-newline">where
Self::Ok: TryFuture<Error = Self::Error>,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Attempt to execute several futures from a stream concurrently (unordered). <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_buffered"class="method trait-impl"><ahref="#method.try_buffered"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_buffered</a>(self, n: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> TryBuffered<Self><spanclass="where fmt-newline">where
Self::Ok: TryFuture<Error = Self::Error>,
Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><divclass='docblock'>Attempt to execute several futures from a stream concurrently. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_poll_next_unpin"class="method trait-impl"><ahref="#method.try_poll_next_unpin"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_poll_next_unpin</a>(
Fut: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"title="trait core::future::future::Future">Future</a><Output = <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>>,</span></h4></section></summary><divclass='docblock'>Attempt to execute a predicate over an asynchronous stream and evaluate if all items
satisfy the predicate. Exits early if an <code>Err</code> is encountered or if an <code>Ok</code> item is found
that does not satisfy the predicate. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_any"class="method trait-impl"><ahref="#method.try_any"class="anchor">§</a><h4class="code-header">fn <aclass="fn">try_any</a><Fut, F>(self, f: F) -> TryAny<Self, Fut, F><spanclass="where fmt-newline">where
Fut: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"title="trait core::future::future::Future">Future</a><Output = <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>>,</span></h4></section></summary><divclass='docblock'>Attempt to execute a predicate over an asynchronous stream and evaluate if any items
satisfy the predicate. Exits early if an <code>Err</code> is encountered or if an <code>Ok</code> item is found
that satisfies the predicate. <a>Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-VZip%3CV%3E-for-T"class="impl"><ahref="#impl-VZip%3CV%3E-for-T"class="anchor">§</a><h3class="code-header">impl<V, T> VZip<V> for T<spanclass="where fmt-newline">where
S: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><Dispatch>,</span></h4></section></summary><divclass='docblock'>Attaches the provided <ahref="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.with_current_subscriber"class="method trait-impl"><ahref="#method.with_current_subscriber"class="anchor">§</a><h4class="code-header">fn <aclass="fn">with_current_subscriber</a>(self) -> WithDispatch<Self></h4></section></summary><divclass='docblock'>Attaches the current <ahref="crate::dispatcher#setting-the-default-subscriber">default</a><ahref="super::Subscriber"><code>Subscriber</code></a> to this type, returning a