Files
phy/blocking/struct.Unblock.html
Orion Kindel 0ce894e6b0 doc
2025-03-18 10:30:23 -05:00

250 lines
130 KiB
HTML

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Runs blocking I/O on a thread pool."><title>Unblock in blocking - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="blocking" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../static.files/storage-59e33391.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-893ab5e7.css"></noscript><link rel="icon" href="https://raw.githubusercontent.com/smol-rs/smol/master/assets/images/logo_fullsize_transparent.png"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../blocking/index.html"><img src="https://raw.githubusercontent.com/smol-rs/smol/master/assets/images/logo_fullsize_transparent.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../blocking/index.html"><img src="https://raw.githubusercontent.com/smol-rs/smol/master/assets/images/logo_fullsize_transparent.png" alt="logo"></a><h2><a href="../blocking/index.html">blocking</a><span class="version">1.6.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Unblock</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#caveats" title="Caveats">Caveats</a><ul><li><a href="#reading" title="Reading">Reading</a></li><li><a href="#writing" title="Writing">Writing</a></li><li><a href="#seeking" title="Seeking">Seeking</a></li></ul></li><li><a href="#examples" title="Examples">Examples</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.get_mut" title="get_mut">get_mut</a></li><li><a href="#method.into_inner" title="into_inner">into_inner</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.with_capacity" title="with_capacity">with_capacity</a></li><li><a href="#method.with_mut" title="with_mut">with_mut</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsyncRead-for-Unblock%3CT%3E" title="AsyncRead">AsyncRead</a></li><li><a href="#impl-AsyncSeek-for-Unblock%3CT%3E" title="AsyncSeek">AsyncSeek</a></li><li><a href="#impl-AsyncWrite-for-Unblock%3CT%3E" title="AsyncWrite">AsyncWrite</a></li><li><a href="#impl-Debug-for-Unblock%3CT%3E" title="Debug">Debug</a></li><li><a href="#impl-Stream-for-Unblock%3CT%3E" title="Stream">Stream</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Unblock%3CT%3E" title="!RefUnwindSafe">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-Unblock%3CT%3E" title="!UnwindSafe">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-Unblock%3CT%3E" title="Freeze">Freeze</a></li><li><a href="#impl-Send-for-Unblock%3CT%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-Unblock%3CT%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Unblock%3CT%3E" title="Unpin">Unpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-AsyncReadExt-for-R" title="AsyncReadExt">AsyncReadExt</a></li><li><a href="#impl-AsyncSeekExt-for-S" title="AsyncSeekExt">AsyncSeekExt</a></li><li><a href="#impl-AsyncWriteExt-for-W" title="AsyncWriteExt">AsyncWriteExt</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-StreamExt-for-S" title="StreamExt">StreamExt</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryStream-for-S" title="TryStream">TryStream</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate blocking</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">blocking</a></span><h1>Struct <span class="struct">Unblock</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/blocking/lib.rs.html#447-450">Source</a> </span></div><pre class="rust item-decl"><code>pub struct Unblock&lt;T&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Runs blocking I/O on a thread pool.</p>
<p>Blocking I/O must be isolated from async code. This type moves blocking I/O operations onto a
special thread pool while exposing a familiar async interface.</p>
<p>This type implements traits <a href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream"><code>Stream</code></a>, <a href="../futures_io/if_std/trait.AsyncRead.html" title="trait futures_io::if_std::AsyncRead"><code>AsyncRead</code></a>, <a href="../futures_io/if_std/trait.AsyncWrite.html" title="trait futures_io::if_std::AsyncWrite"><code>AsyncWrite</code></a>, or <a href="../futures_io/if_std/trait.AsyncSeek.html" title="trait futures_io::if_std::AsyncSeek"><code>AsyncSeek</code></a> if the
inner type implements <a href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a>, <a href="https://doc.rust-lang.org/1.84.0/std/io/trait.Read.html" title="trait std::io::Read"><code>Read</code></a>, <a href="https://doc.rust-lang.org/1.84.0/std/io/trait.Write.html" title="trait std::io::Write"><code>Write</code></a>, or <a href="https://doc.rust-lang.org/1.84.0/std/io/trait.Seek.html" title="trait std::io::Seek"><code>Seek</code></a>, respectively.</p>
<h2 id="caveats"><a class="doc-anchor" href="#caveats">§</a>Caveats</h2>
<p><a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a> is a low-level primitive, and as such it comes with some caveats.</p>
<p>For higher-level primitives built on top of <a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a>, look into <a href="https://github.com/smol-rs/async-fs"><code>async-fs</code></a> or
<a href="https://github.com/smol-rs/async-process"><code>async-process</code></a> (on Windows).</p>
<p><a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a> communicates with I/O operations on the thread pool through a pipe. That means an
async read/write operation simply receives/sends some bytes from/into the pipe. When in reading
mode, the thread pool reads bytes from the I/O handle and forwards them into the pipe until it
becomes full. When in writing mode, the thread pool reads bytes from the pipe and forwards them
into the I/O handle.</p>
<p>Use <a href="struct.Unblock.html#method.with_capacity" title="associated function blocking::Unblock::with_capacity"><code>Unblock::with_capacity()</code></a> to configure the capacity of the pipe.</p>
<h4 id="reading"><a class="doc-anchor" href="#reading">§</a>Reading</h4>
<p>If you create an <a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a><code>&lt;</code><a href="https://doc.rust-lang.org/1.84.0/std/io/stdio/struct.Stdin.html" title="struct std::io::stdio::Stdin"><code>Stdin</code></a><code>&gt;</code>, read some bytes from it,
and then drop it, a blocked read operation may keep hanging on the thread pool. The next
attempt to read from stdin will lose bytes read by the hanging operation. This is a difficult
problem to solve, so make sure you only use a single stdin handle for the duration of the
entire program.</p>
<h4 id="writing"><a class="doc-anchor" href="#writing">§</a>Writing</h4>
<p>If writing data through the <a href="../futures_io/if_std/trait.AsyncWrite.html" title="trait futures_io::if_std::AsyncWrite"><code>AsyncWrite</code></a> trait, make sure to flush before dropping the
<a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a> handle or some buffered data might get lost.</p>
<h4 id="seeking"><a class="doc-anchor" href="#seeking">§</a>Seeking</h4>
<p>Because of buffering in the pipe, if <a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a> wraps a <a href="https://doc.rust-lang.org/1.84.0/std/fs/struct.File.html" title="struct std::fs::File"><code>File</code></a>, a single
read operation may move the file cursor farther than is the span of the operation. In fact,
reading just keeps going in the background until the pipe gets full. Keep this mind when
using <a href="../futures_io/if_std/trait.AsyncSeek.html" title="trait futures_io::if_std::AsyncSeek"><code>AsyncSeek</code></a> with <a href="https://doc.rust-lang.org/1.84.0/std/io/enum.SeekFrom.html#variant.Current" title="variant std::io::SeekFrom::Current">relative</a> offsets.</p>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>blocking::Unblock;
<span class="kw">use </span>futures_lite::prelude::<span class="kw-2">*</span>;
<span class="kw">let </span><span class="kw-2">mut </span>stdout = Unblock::new(std::io::stdout());
stdout.write_all(<span class="string">b"Hello world!"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
stdout.flush().<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Unblock%3CT%3E" class="impl"><a class="src rightside" href="../src/blocking/lib.rs.html#452-677">Source</a><a href="#impl-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/blocking/lib.rs.html#462-467">Source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(io: T) -&gt; <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Wraps a blocking I/O handle into the async <a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a> interface.</p>
<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>blocking::Unblock;
<span class="kw">let </span>stdin = Unblock::new(std::io::stdin());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../src/blocking/lib.rs.html#488-493">Source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(cap: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>, io: T) -&gt; <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Wraps a blocking I/O handle into the async <a href="struct.Unblock.html" title="struct blocking::Unblock"><code>Unblock</code></a> interface with a custom buffer
capacity.</p>
<p>When communicating with the inner <a href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream"><code>Stream</code></a>/<a href="https://doc.rust-lang.org/1.84.0/std/io/trait.Read.html" title="trait std::io::Read"><code>Read</code></a>/<a href="https://doc.rust-lang.org/1.84.0/std/io/trait.Write.html" title="trait std::io::Write"><code>Write</code></a> type from async code, data
transferred between blocking and async code goes through a buffer of limited capacity. This
constructor configures that capacity.</p>
<p>The default capacity is:</p>
<ul>
<li>For <a href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> types: 8192 items.</li>
<li>For <a href="https://doc.rust-lang.org/1.84.0/std/io/trait.Read.html" title="trait std::io::Read"><code>Read</code></a>/<a href="https://doc.rust-lang.org/1.84.0/std/io/trait.Write.html" title="trait std::io::Write"><code>Write</code></a> types: 8 MB.</li>
</ul>
<h5 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>blocking::Unblock;
<span class="kw">let </span>stdout = Unblock::with_capacity(<span class="number">64 </span>* <span class="number">1024</span>, std::io::stdout());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_mut" class="method"><a class="src rightside" href="../src/blocking/lib.rs.html#513-528">Source</a><h4 class="code-header">pub async fn <a href="#method.get_mut" class="fn">get_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class="docblock"><p>Gets a mutable reference to the blocking I/O handle.</p>
<p>This is an async method because the I/O handle might be on the thread pool and needs to
be moved onto the current thread before we can get a reference to it.</p>
<h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>blocking::{unblock, Unblock};
<span class="kw">use </span>std::fs::File;
<span class="kw">let </span>file = unblock(|| File::create(<span class="string">"file.txt"</span>)).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span><span class="kw-2">mut </span>file = Unblock::new(file);
<span class="kw">let </span>metadata = file.get_mut().<span class="kw">await</span>.metadata()<span class="question-mark">?</span>;</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_mut" class="method"><a class="src rightside" href="../src/blocking/lib.rs.html#545-577">Source</a><h4 class="code-header">pub async fn <a href="#method.with_mut" class="fn">with_mut</a>&lt;R, F&gt;(&amp;mut self, op: F) -&gt; R<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a>) -&gt; R + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,
R: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</div></h4></section></summary><div class="docblock"><p>Performs a blocking operation on the I/O handle.</p>
<h5 id="examples-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>blocking::{unblock, Unblock};
<span class="kw">use </span>std::fs::File;
<span class="kw">let </span>file = unblock(|| File::create(<span class="string">"file.txt"</span>)).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span><span class="kw-2">mut </span>file = Unblock::new(file);
<span class="kw">let </span>metadata = file.with_mut(|f| f.metadata()).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner" class="method"><a class="src rightside" href="../src/blocking/lib.rs.html#598-617">Source</a><h4 class="code-header">pub async fn <a href="#method.into_inner" class="fn">into_inner</a>(self) -&gt; T</h4></section></summary><div class="docblock"><p>Extracts the inner blocking I/O handle.</p>
<p>This is an async method because the I/O handle might be on the thread pool and needs to
be moved onto the current thread before we can extract it.</p>
<h5 id="examples-5"><a class="doc-anchor" href="#examples-5">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>blocking::{unblock, Unblock};
<span class="kw">use </span>futures_lite::prelude::<span class="kw-2">*</span>;
<span class="kw">use </span>std::fs::File;
<span class="kw">let </span>file = unblock(|| File::create(<span class="string">"file.txt"</span>)).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>file = Unblock::new(file);
<span class="kw">let </span>file = file.into_inner().<span class="kw">await</span>;</code></pre></div>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-Unblock%3CT%3E" class="impl"><a class="src rightside" href="../src/blocking/lib.rs.html#803-869">Source</a><a href="#impl-AsyncRead-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static&gt; <a class="trait" href="../futures_io/if_std/trait.AsyncRead.html" title="trait futures_io::if_std::AsyncRead">AsyncRead</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#804-868">Source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_io/if_std/trait.AsyncRead.html#tymethod.poll_read" class="fn">poll_read</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
buf: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="type" href="https://doc.rust-lang.org/1.84.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempt to read from the <code>AsyncRead</code> into <code>buf</code>. <a href="../futures_io/if_std/trait.AsyncRead.html#tymethod.poll_read">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.poll_read_vectored" class="method trait-impl"><a class="src rightside" href="../src/futures_io/lib.rs.html#91-95">Source</a><a href="#method.poll_read_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_io/if_std/trait.AsyncRead.html#method.poll_read_vectored" class="fn">poll_read_vectored</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
bufs: &amp;mut [<a class="struct" href="https://doc.rust-lang.org/1.84.0/std/io/struct.IoSliceMut.html" title="struct std::io::IoSliceMut">IoSliceMut</a>&lt;'_&gt;],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/1.84.0/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempt to read from the <code>AsyncRead</code> into <code>bufs</code> using vectored
IO operations. <a href="../futures_io/if_std/trait.AsyncRead.html#method.poll_read_vectored">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncSeek-for-Unblock%3CT%3E" class="impl"><a class="src rightside" href="../src/blocking/lib.rs.html#954-997">Source</a><a href="#impl-AsyncSeek-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static&gt; <a class="trait" href="../futures_io/if_std/trait.AsyncSeek.html" title="trait futures_io::if_std::AsyncSeek">AsyncSeek</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_seek" class="method trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#955-996">Source</a><a href="#method.poll_seek" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_io/if_std/trait.AsyncSeek.html#tymethod.poll_seek" class="fn">poll_seek</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
pos: <a class="enum" href="https://doc.rust-lang.org/1.84.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="type" href="https://doc.rust-lang.org/1.84.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempt to seek to an offset, in bytes, in a stream. <a href="../futures_io/if_std/trait.AsyncSeek.html#tymethod.poll_seek">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncWrite-for-Unblock%3CT%3E" class="impl"><a class="src rightside" href="../src/blocking/lib.rs.html#871-952">Source</a><a href="#impl-AsyncWrite-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/std/io/trait.Write.html" title="trait std::io::Write">Write</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static&gt; <a class="trait" href="../futures_io/if_std/trait.AsyncWrite.html" title="trait futures_io::if_std::AsyncWrite">AsyncWrite</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_write" class="method trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#872-923">Source</a><a href="#method.poll_write" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_io/if_std/trait.AsyncWrite.html#tymethod.poll_write" class="fn">poll_write</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
buf: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="type" href="https://doc.rust-lang.org/1.84.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempt to write bytes from <code>buf</code> into the object. <a href="../futures_io/if_std/trait.AsyncWrite.html#tymethod.poll_write">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.poll_flush" class="method trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#925-942">Source</a><a href="#method.poll_flush" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_io/if_std/trait.AsyncWrite.html#tymethod.poll_flush" class="fn">poll_flush</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;, cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="type" href="https://doc.rust-lang.org/1.84.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempt to flush the object, ensuring that any buffered data reach
their destination. <a href="../futures_io/if_std/trait.AsyncWrite.html#tymethod.poll_flush">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.poll_close" class="method trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#944-951">Source</a><a href="#method.poll_close" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_io/if_std/trait.AsyncWrite.html#tymethod.poll_close" class="fn">poll_close</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;, cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="type" href="https://doc.rust-lang.org/1.84.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempt to close the object. <a href="../futures_io/if_std/trait.AsyncWrite.html#tymethod.poll_close">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.poll_write_vectored" class="method trait-impl"><a class="src rightside" href="../src/futures_io/lib.rs.html#161-165">Source</a><a href="#method.poll_write_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_io/if_std/trait.AsyncWrite.html#method.poll_write_vectored" class="fn">poll_write_vectored</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
bufs: &amp;[<a class="struct" href="https://doc.rust-lang.org/1.84.0/std/io/struct.IoSlice.html" title="struct std::io::IoSlice">IoSlice</a>&lt;'_&gt;],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/1.84.0/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempt to write bytes from <code>bufs</code> into the object using vectored
IO operations. <a href="../futures_io/if_std/trait.AsyncWrite.html#method.poll_write_vectored">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Unblock%3CT%3E" class="impl"><a class="src rightside" href="../src/blocking/lib.rs.html#679-708">Source</a><a href="#impl-Debug-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#680-707">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.84.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Stream-for-Unblock%3CT%3E" class="impl"><a class="src rightside" href="../src/blocking/lib.rs.html#737-801">Source</a><a href="#impl-Stream-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static&gt; <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;<div class="where">where
T::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#741">Source</a><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="../futures_core/stream/trait.Stream.html#associatedtype.Item" class="associatedtype">Item</a> = &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a></h4></section></summary><div class='docblock'>Values yielded by the stream.</div></details><details class="toggle method-toggle" open><summary><section id="method.poll_next" class="method trait-impl"><a class="src rightside" href="../src/blocking/lib.rs.html#743-800">Source</a><a href="#method.poll_next" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_core/stream/trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;&gt;</h4></section></summary><div class='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 href="../futures_core/stream/trait.Stream.html#tymethod.poll_next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" class="method trait-impl"><a class="src rightside" href="../src/futures_core/stream.rs.html#105">Source</a><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_core/stream/trait.Stream.html#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>&gt;)</h4></section></summary><div class='docblock'>Returns the bounds on the remaining length of the stream. <a href="../futures_core/stream/trait.Stream.html#method.size_hint">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Unblock%3CT%3E" class="impl"><a href="#impl-Freeze-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section><section id="impl-RefUnwindSafe-for-Unblock%3CT%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; !<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section><section id="impl-Send-for-Unblock%3CT%3E" class="impl"><a href="#impl-Send-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-Unblock%3CT%3E" class="impl"><a href="#impl-Sync-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-Unblock%3CT%3E" class="impl"><a href="#impl-Unpin-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section><section id="impl-UnwindSafe-for-Unblock%3CT%3E" class="impl"><a href="#impl-UnwindSafe-for-Unblock%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; !<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Unblock.html" title="struct blocking::Unblock">Unblock</a>&lt;T&gt;</h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsyncReadExt-for-R" class="impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2194">Source</a><a href="#impl-AsyncReadExt-for-R" class="anchor">§</a><h3 class="code-header">impl&lt;R&gt; <a class="trait" href="../futures_lite/io/trait.AsyncReadExt.html" title="trait futures_lite::io::AsyncReadExt">AsyncReadExt</a> for R<div class="where">where
R: <a class="trait" href="../futures_io/if_std/trait.AsyncRead.html" title="trait futures_io::if_std::AsyncRead">AsyncRead</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#1989-1991">Source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read" class="fn">read</a>&lt;'a&gt;(&amp;'a mut self, buf: &amp;'a mut [<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="../futures_lite/io/struct.ReadFuture.html" title="struct futures_lite::io::ReadFuture">ReadFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads some bytes from the byte stream. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_vectored" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2001-2006">Source</a><a href="#method.read_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_vectored" class="fn">read_vectored</a>&lt;'a&gt;(
&amp;'a mut self,
bufs: &amp;'a mut [<a class="struct" href="https://doc.rust-lang.org/1.84.0/std/io/struct.IoSliceMut.html" title="struct std::io::IoSliceMut">IoSliceMut</a>&lt;'a&gt;],
) -&gt; <a class="struct" href="../futures_lite/io/struct.ReadVectoredFuture.html" title="struct futures_lite::io::ReadVectoredFuture">ReadVectoredFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Like <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read" title="method futures_lite::io::AsyncReadExt::read"><code>read()</code></a>, except it reads into a slice of buffers. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_vectored">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_end" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2029-2031">Source</a><a href="#method.read_to_end" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_to_end" class="fn">read_to_end</a>&lt;'a&gt;(
&amp;'a mut self,
buf: &amp;'a mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>&gt;,
) -&gt; <a class="struct" href="../futures_lite/io/struct.ReadToEndFuture.html" title="struct futures_lite::io::ReadToEndFuture">ReadToEndFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads the entire contents and appends them to a <a href="https://doc.rust-lang.org/1.84.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec"><code>Vec</code></a>. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_to_end">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_string" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2059-2061">Source</a><a href="#method.read_to_string" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_to_string" class="fn">read_to_string</a>&lt;'a&gt;(
&amp;'a mut self,
buf: &amp;'a mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
) -&gt; <a class="struct" href="../futures_lite/io/struct.ReadToStringFuture.html" title="struct futures_lite::io::ReadToStringFuture">ReadToStringFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads the entire contents and appends them to a <a href="https://doc.rust-lang.org/1.84.0/alloc/string/struct.String.html" title="struct alloc::string::String"><code>String</code></a>. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_to_string">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_exact" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2088-2090">Source</a><a href="#method.read_exact" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_exact" class="fn">read_exact</a>&lt;'a&gt;(&amp;'a mut self, buf: &amp;'a mut [<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="../futures_lite/io/struct.ReadExactFuture.html" title="struct futures_lite::io::ReadExactFuture">ReadExactFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads the exact number of bytes required to fill <code>buf</code>. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.read_exact">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take-1" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2114-2116">Source</a><a href="#method.take-1" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.take" class="fn">take</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a>) -&gt; <a class="struct" href="../futures_lite/io/struct.Take.html" title="struct futures_lite::io::Take">Take</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an adapter which will read at most <code>limit</code> bytes from it. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.take">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.bytes" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2138-2140">Source</a><a href="#method.bytes" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.bytes" class="fn">bytes</a>(self) -&gt; <a class="struct" href="../futures_lite/io/struct.Bytes.html" title="struct futures_lite::io::Bytes">Bytes</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Converts this <a href="../futures_io/if_std/trait.AsyncRead.html" title="trait futures_io::if_std::AsyncRead"><code>AsyncRead</code></a> into a <a href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream"><code>Stream</code></a> of bytes. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.chain-1" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2165-2167">Source</a><a href="#method.chain-1" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.chain" class="fn">chain</a>&lt;R&gt;(self, next: R) -&gt; <a class="struct" href="../futures_lite/io/struct.Chain.html" title="struct futures_lite::io::Chain">Chain</a>&lt;Self, R&gt;<div class="where">where
R: <a class="trait" href="../futures_io/if_std/trait.AsyncRead.html" title="trait futures_io::if_std::AsyncRead">AsyncRead</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an adapter which will chain this stream with another. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.chain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.boxed_reader" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2186-2188">Source</a><a href="#method.boxed_reader" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncReadExt.html#method.boxed_reader" class="fn">boxed_reader</a>&lt;'a&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../futures_io/if_std/trait.AsyncRead.html" title="trait futures_io::if_std::AsyncRead">AsyncRead</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a,</div></h4></section></summary><div class='docblock'>Boxes the reader and changes its type to <code>dyn AsyncRead + Send + 'a</code>. <a href="../futures_lite/io/trait.AsyncReadExt.html#method.boxed_reader">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsyncSeekExt-for-S" class="impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2751">Source</a><a href="#impl-AsyncSeekExt-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; <a class="trait" href="../futures_lite/io/trait.AsyncSeekExt.html" title="trait futures_lite::io::AsyncSeekExt">AsyncSeekExt</a> for S<div class="where">where
S: <a class="trait" href="../futures_io/if_std/trait.AsyncSeek.html" title="trait futures_io::if_std::AsyncSeek">AsyncSeek</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.seek" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2743-2745">Source</a><a href="#method.seek" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncSeekExt.html#method.seek" class="fn">seek</a>(&amp;mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.84.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -&gt; <a class="struct" href="../futures_lite/io/struct.SeekFuture.html" title="struct futures_lite::io::SeekFuture">SeekFuture</a>&lt;'_, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Seeks to a new position in a byte stream. <a href="../futures_lite/io/trait.AsyncSeekExt.html#method.seek">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsyncWriteExt-for-W" class="impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2900">Source</a><a href="#impl-AsyncWriteExt-for-W" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="../futures_lite/io/trait.AsyncWriteExt.html" title="trait futures_lite::io::AsyncWriteExt">AsyncWriteExt</a> for W<div class="where">where
W: <a class="trait" href="../futures_io/if_std/trait.AsyncWrite.html" title="trait futures_io::if_std::AsyncWrite">AsyncWrite</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2795-2797">Source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.write" class="fn">write</a>&lt;'a&gt;(&amp;'a mut self, buf: &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="../futures_lite/io/struct.WriteFuture.html" title="struct futures_lite::io::WriteFuture">WriteFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Writes some bytes into the byte stream. <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.write">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write_vectored" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2807-2809">Source</a><a href="#method.write_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.write_vectored" class="fn">write_vectored</a>&lt;'a&gt;(
&amp;'a mut self,
bufs: &amp;'a [<a class="struct" href="https://doc.rust-lang.org/1.84.0/std/io/struct.IoSlice.html" title="struct std::io::IoSlice">IoSlice</a>&lt;'a&gt;],
) -&gt; <a class="struct" href="../futures_lite/io/struct.WriteVectoredFuture.html" title="struct futures_lite::io::WriteVectoredFuture">WriteVectoredFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Like <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.write" title="method futures_lite::io::AsyncWriteExt::write"><code>write()</code></a>, except that it writes a slice of buffers. <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.write_vectored">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write_all" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2832-2834">Source</a><a href="#method.write_all" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.write_all" class="fn">write_all</a>&lt;'a&gt;(&amp;'a mut self, buf: &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="../futures_lite/io/struct.WriteAllFuture.html" title="struct futures_lite::io::WriteAllFuture">WriteAllFuture</a>&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Writes an entire buffer into the byte stream. <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.write_all">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flush" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2854-2856">Source</a><a href="#method.flush" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.flush" class="fn">flush</a>(&amp;mut self) -&gt; <a class="struct" href="../futures_lite/io/struct.FlushFuture.html" title="struct futures_lite::io::FlushFuture">FlushFuture</a>&lt;'_, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Flushes the stream to ensure that all buffered contents reach their destination. <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.flush">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.close" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2875-2877">Source</a><a href="#method.close" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.close" class="fn">close</a>(&amp;mut self) -&gt; <a class="struct" href="../futures_lite/io/struct.CloseFuture.html" title="struct futures_lite::io::CloseFuture">CloseFuture</a>&lt;'_, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Closes the writer. <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.close">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.boxed_writer" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/io.rs.html#2892-2894">Source</a><a href="#method.boxed_writer" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.boxed_writer" class="fn">boxed_writer</a>&lt;'a&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../futures_io/if_std/trait.AsyncWrite.html" title="trait futures_io::if_std::AsyncWrite">AsyncWrite</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a,</div></h4></section></summary><div class='docblock'>Boxes the writer and changes its type to <code>dyn AsyncWrite + Send + 'a</code>. <a href="../futures_lite/io/trait.AsyncWriteExt.html#method.boxed_writer">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#209">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#211">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#217">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#218">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#765">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#768">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#748-750">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#758">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-StreamExt-for-S" class="impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1866">Source</a><a href="#impl-StreamExt-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; <a class="trait" href="../futures_lite/stream/trait.StreamExt.html" title="trait futures_lite::stream::StreamExt">StreamExt</a> for S<div class="where">where
S: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-1" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#669-671">Source</a><a href="#method.poll_next-1" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.poll_next" class="fn">poll_next</a>(&amp;mut self, cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>A convenience for calling <a href="../futures_core/stream/trait.Stream.html#tymethod.poll_next" title="method futures_core::stream::Stream::poll_next"><code>Stream::poll_next()</code></a> on <code>!</code><a href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin"><code>Unpin</code></a> types.</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#695-697">Source</a><a href="#method.next" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.next" class="fn">next</a>(&amp;mut self) -&gt; <a class="struct" href="../futures_lite/stream/struct.NextFuture.html" title="struct futures_lite::stream::NextFuture">NextFuture</a>&lt;'_, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Retrieves the next item in the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_next" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#723-725">Source</a><a href="#method.try_next" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.try_next" class="fn">try_next</a>&lt;T, E&gt;(&amp;mut self) -&gt; <a class="struct" href="../futures_lite/stream/struct.TryNextFuture.html" title="struct futures_lite::stream::TryNextFuture">TryNextFuture</a>&lt;'_, Self&gt;<div class="where">where
Self: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, E&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Retrieves the next item in the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.try_next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.count" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#745-747">Source</a><a href="#method.count" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.count" class="fn">count</a>(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.CountFuture.html" title="struct futures_lite::stream::CountFuture">CountFuture</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Counts the number of items in the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.count">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#772-775">Source</a><a href="#method.map" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.map" class="fn">map</a>&lt;T, F&gt;(self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.Map.html" title="struct futures_lite::stream::Map">Map</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; T,</div></h4></section></summary><div class='docblock'>Maps items of the stream to new values using a closure. <a href="../futures_lite/stream/trait.StreamExt.html#method.map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flat_map" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#798-802">Source</a><a href="#method.flat_map" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.flat_map" class="fn">flat_map</a>&lt;U, F&gt;(self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.FlatMap.html" title="struct futures_lite::stream::FlatMap">FlatMap</a>&lt;Self, U, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; U,</div></h4></section></summary><div class='docblock'>Maps items to streams and then concatenates them. <a href="../futures_lite/stream/trait.StreamExt.html#method.flat_map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flatten" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#826-829">Source</a><a href="#method.flatten" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.flatten" class="fn">flatten</a>(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.Flatten.html" title="struct futures_lite::stream::Flatten">Flatten</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>,</div></h4></section></summary><div class='docblock'>Concatenates inner streams. <a href="../futures_lite/stream/trait.StreamExt.html#method.flatten">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.then" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#856-860">Source</a><a href="#method.then" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.then" class="fn">then</a>&lt;F, Fut&gt;(self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.Then.html" title="struct futures_lite::stream::Then">Then</a>&lt;Self, F, Fut&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; Fut,
Fut: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>,</div></h4></section></summary><div class='docblock'>Maps items of the stream to new values using an async closure. <a href="../futures_lite/stream/trait.StreamExt.html#method.then">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.filter" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#885-888">Source</a><a href="#method.filter" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.filter" class="fn">filter</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.Filter.html" title="struct futures_lite::stream::Filter">Filter</a>&lt;Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Keeps items of the stream for which <code>predicate</code> returns <code>true</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.filter">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.filter_map" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#913-916">Source</a><a href="#method.filter_map" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.filter_map" class="fn">filter_map</a>&lt;T, F&gt;(self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.FilterMap.html" title="struct futures_lite::stream::FilterMap">FilterMap</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T&gt;,</div></h4></section></summary><div class='docblock'>Filters and maps items of the stream using a closure. <a href="../futures_lite/stream/trait.StreamExt.html#method.filter_map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#936-938">Source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.take" class="fn">take</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../futures_lite/stream/struct.Take.html" title="struct futures_lite::stream::Take">Take</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Takes only the first <code>n</code> items of the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.take">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take_while" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#959-962">Source</a><a href="#method.take_while" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.take_while" class="fn">take_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.TakeWhile.html" title="struct futures_lite::stream::TakeWhile">TakeWhile</a>&lt;Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Takes items while <code>predicate</code> returns <code>true</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.take_while">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.skip" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#985-987">Source</a><a href="#method.skip" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.skip" class="fn">skip</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../futures_lite/stream/struct.Skip.html" title="struct futures_lite::stream::Skip">Skip</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Skips the first <code>n</code> items of the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.skip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.skip_while" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1008-1011">Source</a><a href="#method.skip_while" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.skip_while" class="fn">skip_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.SkipWhile.html" title="struct futures_lite::stream::SkipWhile">SkipWhile</a>&lt;Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Skips items while <code>predicate</code> returns <code>true</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.skip_while">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.step_by" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1040-1042">Source</a><a href="#method.step_by" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.step_by" class="fn">step_by</a>(self, step: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../futures_lite/stream/struct.StepBy.html" title="struct futures_lite::stream::StepBy">StepBy</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Yields every <code>step</code>th item. <a href="../futures_lite/stream/trait.StreamExt.html#method.step_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.chain" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1071-1074">Source</a><a href="#method.chain" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.chain" class="fn">chain</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="../futures_lite/stream/struct.Chain.html" title="struct futures_lite::stream::Chain">Chain</a>&lt;Self, U&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;,</div></h4></section></summary><div class='docblock'>Appends another stream to the end of this one. <a href="../futures_lite/stream/trait.StreamExt.html#method.chain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cloned" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1098-1101">Source</a><a href="#method.cloned" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.cloned" class="fn">cloned</a>&lt;'a, T&gt;(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.Cloned.html" title="struct futures_lite::stream::Cloned">Cloned</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;'a T</a>&gt;,
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a,</div></h4></section></summary><div class='docblock'>Clones all items. <a href="../futures_lite/stream/trait.StreamExt.html#method.cloned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.copied" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1122-1125">Source</a><a href="#method.copied" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.copied" class="fn">copied</a>&lt;'a, T&gt;(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.Copied.html" title="struct futures_lite::stream::Copied">Copied</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;'a T</a>&gt;,
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + 'a,</div></h4></section></summary><div class='docblock'>Copies all items. <a href="../futures_lite/stream/trait.StreamExt.html#method.copied">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1144-1147">Source</a><a href="#method.collect" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.collect" class="fn">collect</a>&lt;C&gt;(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.CollectFuture.html" title="struct futures_lite::stream::CollectFuture">CollectFuture</a>&lt;Self, C&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
C: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;,</div></h4></section></summary><div class='docblock'>Collects all items in the stream into a collection. <a href="../futures_lite/stream/trait.StreamExt.html#method.collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_collect" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1170-1173">Source</a><a href="#method.try_collect" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.try_collect" class="fn">try_collect</a>&lt;T, E, C&gt;(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.TryCollectFuture.html" title="struct futures_lite::stream::TryCollectFuture">TryCollectFuture</a>&lt;Self, C&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, E&gt;&gt;,
C: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;T&gt;,</div></h4></section></summary><div class='docblock'>Collects all items in the fallible stream into a collection. <a href="../futures_lite/stream/trait.StreamExt.html#method.try_collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partition" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1197-1201">Source</a><a href="#method.partition" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.partition" class="fn">partition</a>&lt;B, P&gt;(self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.PartitionFuture.html" title="struct futures_lite::stream::PartitionFuture">PartitionFuture</a>&lt;Self, P, B&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Partitions items into those for which <code>predicate</code> is <code>true</code> and those for which it is
<code>false</code>, and then collects them into two collections. <a href="../futures_lite/stream/trait.StreamExt.html#method.partition">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fold" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1227-1230">Source</a><a href="#method.fold" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.fold" class="fn">fold</a>&lt;T, F&gt;(self, init: T, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.FoldFuture.html" title="struct futures_lite::stream::FoldFuture">FoldFuture</a>&lt;Self, F, T&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(T, Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; T,</div></h4></section></summary><div class='docblock'>Accumulates a computation over the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.fold">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_fold" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1265-1268">Source</a><a href="#method.try_fold" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.try_fold" class="fn">try_fold</a>&lt;T, E, F, B&gt;(
&amp;mut self,
init: B,
f: F,
) -&gt; <a class="struct" href="../futures_lite/stream/struct.TryFoldFuture.html" title="struct futures_lite::stream::TryFoldFuture">TryFoldFuture</a>&lt;'_, Self, F, B&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, E&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, T) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;B, E&gt;,</div></h4></section></summary><div class='docblock'>Accumulates a fallible computation over the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.try_fold">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.scan" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1300-1303">Source</a><a href="#method.scan" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.scan" class="fn">scan</a>&lt;St, B, F&gt;(self, initial_state: St, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.Scan.html" title="struct futures_lite::stream::Scan">Scan</a>&lt;Self, St, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut St</a>, Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;,</div></h4></section></summary><div class='docblock'>Maps items of the stream to new values using a state value and a closure. <a href="../futures_lite/stream/trait.StreamExt.html#method.scan">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fuse" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1326-1328">Source</a><a href="#method.fuse" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.fuse" class="fn">fuse</a>(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.Fuse.html" title="struct futures_lite::stream::Fuse">Fuse</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Fuses the stream so that it stops yielding items after the first <a href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a>. <a href="../futures_lite/stream/trait.StreamExt.html#method.fuse">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cycle" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1352-1354">Source</a><a href="#method.cycle" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.cycle" class="fn">cycle</a>(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.Cycle.html" title="struct futures_lite::stream::Cycle">Cycle</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class='docblock'>Repeats the stream from beginning to end, forever. <a href="../futures_lite/stream/trait.StreamExt.html#method.cycle">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.enumerate" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1379-1381">Source</a><a href="#method.enumerate" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.enumerate" class="fn">enumerate</a>(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.Enumerate.html" title="struct futures_lite::stream::Enumerate">Enumerate</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Enumerates items, mapping them to <code>(index, item)</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.enumerate">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.inspect" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1404-1407">Source</a><a href="#method.inspect" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.inspect" class="fn">inspect</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.Inspect.html" title="struct futures_lite::stream::Inspect">Inspect</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>),</div></h4></section></summary><div class='docblock'>Calls a closure on each item and passes it on. <a href="../futures_lite/stream/trait.StreamExt.html#method.inspect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nth" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1429-1431">Source</a><a href="#method.nth" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.nth" class="fn">nth</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../futures_lite/stream/struct.NthFuture.html" title="struct futures_lite::stream::NthFuture">NthFuture</a>&lt;'_, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Gets the <code>n</code>th item of the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.nth">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.last" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1451-1453">Source</a><a href="#method.last" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.last" class="fn">last</a>(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.LastFuture.html" title="struct futures_lite::stream::LastFuture">LastFuture</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Returns the last item in the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.last">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.find" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1475-1478">Source</a><a href="#method.find" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.find" class="fn">find</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.FindFuture.html" title="struct futures_lite::stream::FindFuture">FindFuture</a>&lt;'_, Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Finds the first item of the stream for which <code>predicate</code> returns <code>true</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.find">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.find_map" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1500-1503">Source</a><a href="#method.find_map" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.find_map" class="fn">find_map</a>&lt;F, B&gt;(&amp;mut self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.FindMapFuture.html" title="struct futures_lite::stream::FindMapFuture">FindMapFuture</a>&lt;'_, Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;,</div></h4></section></summary><div class='docblock'>Applies a closure to items in the stream and returns the first <a href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html#variant.Some" title="variant core::option::Option::Some"><code>Some</code></a> result. <a href="../futures_lite/stream/trait.StreamExt.html#method.find_map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.position" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1523-1526">Source</a><a href="#method.position" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.position" class="fn">position</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.PositionFuture.html" title="struct futures_lite::stream::PositionFuture">PositionFuture</a>&lt;'_, Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Finds the index of the first item of the stream for which <code>predicate</code> returns <code>true</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.position">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.all" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1555-1558">Source</a><a href="#method.all" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.all" class="fn">all</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.AllFuture.html" title="struct futures_lite::stream::AllFuture">AllFuture</a>&lt;'_, Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Tests if <code>predicate</code> returns <code>true</code> for all items in the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.all">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.any" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1586-1589">Source</a><a href="#method.any" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.any" class="fn">any</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="struct" href="../futures_lite/stream/struct.AnyFuture.html" title="struct futures_lite::stream::AnyFuture">AnyFuture</a>&lt;'_, Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Tests if <code>predicate</code> returns <code>true</code> for any item in the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.for_each" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1609-1612">Source</a><a href="#method.for_each" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.for_each" class="fn">for_each</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.ForEachFuture.html" title="struct futures_lite::stream::ForEachFuture">ForEachFuture</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>),</div></h4></section></summary><div class='docblock'>Calls a closure on each item of the stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.for_each">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_for_each" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1643-1646">Source</a><a href="#method.try_for_each" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.try_for_each" class="fn">try_for_each</a>&lt;F, E&gt;(&amp;mut self, f: F) -&gt; <a class="struct" href="../futures_lite/stream/struct.TryForEachFuture.html" title="struct futures_lite::stream::TryForEachFuture">TryForEachFuture</a>&lt;'_, Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, E&gt;,</div></h4></section></summary><div class='docblock'>Calls a fallible closure on each item of the stream, stopping on first error. <a href="../futures_lite/stream/trait.StreamExt.html#method.try_for_each">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.zip" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1671-1674">Source</a><a href="#method.zip" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.zip" class="fn">zip</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="../futures_lite/stream/struct.Zip.html" title="struct futures_lite::stream::Zip">Zip</a>&lt;Self, U&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>,</div></h4></section></summary><div class='docblock'>Zips up two streams into a single stream of pairs. <a href="../futures_lite/stream/trait.StreamExt.html#method.zip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.unzip" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1698-1702">Source</a><a href="#method.unzip" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.unzip" class="fn">unzip</a>&lt;A, B, FromA, FromB&gt;(self) -&gt; <a class="struct" href="../futures_lite/stream/struct.UnzipFuture.html" title="struct futures_lite::stream::UnzipFuture">UnzipFuture</a>&lt;Self, FromA, FromB&gt;<div class="where">where
FromA: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;A&gt;,
FromB: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;B&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.tuple.html">(A, B)</a>&gt;,</div></h4></section></summary><div class='docblock'>Collects a stream of pairs into a pair of collections. <a href="../futures_lite/stream/trait.StreamExt.html#method.unzip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.or" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1726-1729">Source</a><a href="#method.or" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.or" class="fn">or</a>&lt;S&gt;(self, other: S) -&gt; <a class="struct" href="../futures_lite/stream/struct.Or.html" title="struct futures_lite::stream::Or">Or</a>&lt;Self, S&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
S: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;,</div></h4></section></summary><div class='docblock'>Merges with <code>other</code> stream, preferring items from <code>self</code> whenever both streams are ready. <a href="../futures_lite/stream/trait.StreamExt.html#method.or">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.race" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1754-1757">Source</a><a href="#method.race" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.race" class="fn">race</a>&lt;S&gt;(self, other: S) -&gt; <a class="struct" href="../futures_lite/stream/struct.Race.html" title="struct futures_lite::stream::Race">Race</a>&lt;Self, S&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
S: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;,</div></h4></section></summary><div class='docblock'>Merges with <code>other</code> stream, with no preference for either stream when both are ready. <a href="../futures_lite/stream/trait.StreamExt.html#method.race">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drain" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1813">Source</a><a href="#method.drain" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.drain" class="fn">drain</a>(&amp;mut self) -&gt; <a class="struct" href="../futures_lite/stream/struct.Drain.html" title="struct futures_lite::stream::Drain">Drain</a>&lt;'_, Self&gt;</h4></section></summary><div class='docblock'>Yields all immediately available values from a stream. <a href="../futures_lite/stream/trait.StreamExt.html#method.drain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.boxed" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1834-1836">Source</a><a href="#method.boxed" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.boxed" class="fn">boxed</a>&lt;'a&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a,</div></h4></section></summary><div class='docblock'>Boxes the stream and changes its type to <code>dyn Stream + Send + 'a</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.boxed">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.boxed_local" class="method trait-impl"><a class="src rightside" href="../src/futures_lite/stream.rs.html#1858-1860">Source</a><a href="#method.boxed_local" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_lite/stream/trait.StreamExt.html#method.boxed_local" class="fn">boxed_local</a>&lt;'a&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = Self::<a class="associatedtype" href="../futures_core/stream/trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt; + 'a&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a,</div></h4></section></summary><div class='docblock'>Boxes the stream and changes its type to <code>dyn Stream + 'a</code>. <a href="../futures_lite/stream/trait.StreamExt.html#method.boxed_local">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#805-807">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#809">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#812">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#790-792">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#794">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#797">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryStream-for-S" class="impl"><a class="src rightside" href="../src/futures_core/stream.rs.html#195-197">Source</a><a href="#impl-TryStream-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, T, E&gt; <a class="trait" href="../futures_core/stream/trait.TryStream.html" title="trait futures_core::stream::TryStream">TryStream</a> for S<div class="where">where
S: <a class="trait" href="../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&lt;Item = <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, E&gt;&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Ok" class="associatedtype trait-impl"><a class="src rightside" href="../src/futures_core/stream.rs.html#199">Source</a><a href="#associatedtype.Ok" class="anchor">§</a><h4 class="code-header">type <a href="../futures_core/stream/trait.TryStream.html#associatedtype.Ok" class="associatedtype">Ok</a> = T</h4></section></summary><div class='docblock'>The type of successful values yielded by this future</div></details><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a class="src rightside" href="../src/futures_core/stream.rs.html#200">Source</a><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="../futures_core/stream/trait.TryStream.html#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></summary><div class='docblock'>The type of failures yielded by this future</div></details><details class="toggle method-toggle" open><summary><section id="method.try_poll_next" class="method trait-impl"><a class="src rightside" href="../src/futures_core/stream.rs.html#202-205">Source</a><a href="#method.try_poll_next" class="anchor">§</a><h4 class="code-header">fn <a href="../futures_core/stream/trait.TryStream.html#tymethod.try_poll_next" class="fn">try_poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut S</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&lt;S as <a class="trait" href="../futures_core/stream/trait.TryStream.html" title="trait futures_core::stream::TryStream">TryStream</a>&gt;::<a class="associatedtype" href="../futures_core/stream/trait.TryStream.html#associatedtype.Ok" title="type futures_core::stream::TryStream::Ok">Ok</a>, &lt;S as <a class="trait" href="../futures_core/stream/trait.TryStream.html" title="trait futures_core::stream::TryStream">TryStream</a>&gt;::<a class="associatedtype" href="../futures_core/stream/trait.TryStream.html#associatedtype.Error" title="type futures_core::stream::TryStream::Error">Error</a>&gt;&gt;&gt;</h4></section></summary><div class='docblock'>Poll this <code>TryStream</code> as if it were a <code>Stream</code>. <a href="../futures_core/stream/trait.TryStream.html#tymethod.try_poll_next">Read more</a></div></details></div></details></div></section></div></main></body></html>