Files
GopherGate/target/doc/tokio_util/io/struct.StreamReader.html
2026-02-26 12:00:21 -05:00

256 lines
86 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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="Convert a `Stream` of byte chunks into an `AsyncRead`."><title>StreamReader in tokio_util::io - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.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"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tokio_util" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></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]--><rustdoc-topbar><h2><a href="#">StreamReader</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../tokio_util/index.html">tokio_<wbr>util</a><span class="version">0.7.18</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Stream<wbr>Reader</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</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.get_pin_mut" title="get_pin_mut">get_pin_mut</a></li><li><a href="#method.get_ref" title="get_ref">get_ref</a></li><li><a href="#method.into_inner" title="into_inner">into_inner</a></li><li><a href="#method.into_inner_with_chunk" title="into_inner_with_chunk">into_inner_with_chunk</a></li><li><a href="#method.new" title="new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsyncBufRead-for-StreamReader%3CS,+B%3E" title="AsyncBufRead">AsyncBufRead</a></li><li><a href="#impl-AsyncRead-for-StreamReader%3CS,+B%3E" title="AsyncRead">AsyncRead</a></li><li><a href="#impl-Debug-for-StreamReader%3CS,+B%3E" title="Debug">Debug</a></li><li><a href="#impl-Sink%3CT%3E-for-StreamReader%3CS,+B%3E" title="Sink&#60;T&#62;">Sink&#60;T&#62;</a></li><li><a href="#impl-Unpin-for-StreamReader%3CS,+B%3E" title="Unpin">Unpin</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-StreamReader%3CS,+B%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-StreamReader%3CS,+B%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-StreamReader%3CS,+B%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-StreamReader%3CS,+B%3E" title="Sync">Sync</a></li><li><a href="#impl-UnwindSafe-for-StreamReader%3CS,+B%3E" title="UnwindSafe">UnwindSafe</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-AsyncBufReadExt-for-R" title="AsyncBufReadExt">AsyncBufReadExt</a></li><li><a href="#impl-AsyncReadExt-for-R" title="AsyncReadExt">AsyncReadExt</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-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></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In tokio_<wbr>util::<wbr>io</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">tokio_util</a>::<wbr><a href="index.html">io</a></div><h1>Struct <span class="struct">Stream<wbr>Reader</span>&nbsp;<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/tokio_util/io/stream_reader.rs.html#156-161">Source</a> </span></div><pre class="rust item-decl"><code>pub struct StreamReader&lt;S, B&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>Convert a <a href="../../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream"><code>Stream</code></a> of byte chunks into an <a href="../../tokio/io/async_read/trait.AsyncRead.html" title="trait tokio::io::async_read::AsyncRead"><code>AsyncRead</code></a>.</p>
<p>This type performs the inverse operation of <a href="struct.ReaderStream.html" title="struct tokio_util::io::ReaderStream"><code>ReaderStream</code></a>.</p>
<p>This type also implements the <a href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html" title="trait tokio::io::async_buf_read::AsyncBufRead"><code>AsyncBufRead</code></a> trait, so you can use it
to read a <code>Stream</code> of byte chunks line-by-line. See the examples below.</p>
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bytes::Bytes;
<span class="kw">use </span>tokio::io::{AsyncReadExt, <span class="prelude-ty">Result</span>};
<span class="kw">use </span>tokio_util::io::StreamReader;
<span class="comment">// Create a stream from an iterator.
</span><span class="kw">let </span>stream = tokio_stream::iter(<span class="macro">vec!</span>[
Result::Ok(Bytes::from_static(<span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>])),
Result::Ok(Bytes::from_static(<span class="kw-2">&amp;</span>[<span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>])),
Result::Ok(Bytes::from_static(<span class="kw-2">&amp;</span>[<span class="number">8</span>, <span class="number">9</span>, <span class="number">10</span>, <span class="number">11</span>])),
]);
<span class="comment">// Convert it to an AsyncRead.
</span><span class="kw">let </span><span class="kw-2">mut </span>read = StreamReader::new(stream);
<span class="comment">// Read five bytes from the stream.
</span><span class="kw">let </span><span class="kw-2">mut </span>buf = [<span class="number">0</span>; <span class="number">5</span>];
read.read_exact(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="macro">assert_eq!</span>(buf, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
<span class="comment">// Read the rest of the current chunk.
</span><span class="macro">assert_eq!</span>(read.read(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>, <span class="number">3</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>buf[..<span class="number">3</span>], [<span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>]);
<span class="comment">// Read the next chunk.
</span><span class="macro">assert_eq!</span>(read.read(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>, <span class="number">4</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>buf[..<span class="number">4</span>], [<span class="number">8</span>, <span class="number">9</span>, <span class="number">10</span>, <span class="number">11</span>]);
<span class="comment">// We have now reached the end.
</span><span class="macro">assert_eq!</span>(read.read(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>, <span class="number">0</span>);
</code></pre></div>
<p>If the stream produces errors which are not <a href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error"><code>std::io::Error</code></a>,
the errors can be converted using <a href="https://docs.rs/tokio-stream/latest/tokio_stream/trait.StreamExt.html"><code>StreamExt</code></a> to map each
element.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bytes::Bytes;
<span class="kw">use </span>tokio::io::AsyncReadExt;
<span class="kw">use </span>tokio_util::io::StreamReader;
<span class="kw">use </span>tokio_stream::StreamExt;
<span class="comment">// Create a stream from an iterator, including an error.
</span><span class="kw">let </span>stream = tokio_stream::iter(<span class="macro">vec!</span>[
Result::Ok(Bytes::from_static(<span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>])),
Result::Ok(Bytes::from_static(<span class="kw-2">&amp;</span>[<span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>])),
Result::Err(<span class="string">"Something bad happened!"</span>)
]);
<span class="comment">// Use StreamExt to map the stream and error to a std::io::Error
</span><span class="kw">let </span>stream = stream.map(|result| result.map_err(|err| {
std::io::Error::new(std::io::ErrorKind::Other, err)
}));
<span class="comment">// Convert it to an AsyncRead.
</span><span class="kw">let </span><span class="kw-2">mut </span>read = StreamReader::new(stream);
<span class="comment">// Read five bytes from the stream.
</span><span class="kw">let </span><span class="kw-2">mut </span>buf = [<span class="number">0</span>; <span class="number">5</span>];
read.read_exact(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="macro">assert_eq!</span>(buf, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
<span class="comment">// Read the rest of the current chunk.
</span><span class="macro">assert_eq!</span>(read.read(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>, <span class="number">3</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>buf[..<span class="number">3</span>], [<span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>]);
<span class="comment">// Reading the next chunk will produce an error
</span><span class="kw">let </span>error = read.read(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span>.unwrap_err();
<span class="macro">assert_eq!</span>(error.kind(), std::io::ErrorKind::Other);
<span class="macro">assert_eq!</span>(error.into_inner().unwrap().to_string(), <span class="string">"Something bad happened!"</span>);
<span class="comment">// We have now reached the end.
</span><span class="macro">assert_eq!</span>(read.read(<span class="kw-2">&amp;mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>, <span class="number">0</span>);
</code></pre></div>
<p>Using the <a href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html" title="trait tokio::io::async_buf_read::AsyncBufRead"><code>AsyncBufRead</code></a> impl, you can read a <code>Stream</code> of byte chunks
line-by-line. Note that you will usually also need to convert the error
type when doing this. See the second example for an explanation of how
to do this.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio::io::{<span class="prelude-ty">Result</span>, AsyncBufReadExt};
<span class="kw">use </span>tokio_util::io::StreamReader;
<span class="comment">// Create a stream of byte chunks.
</span><span class="kw">let </span>stream = tokio_stream::iter(<span class="macro">vec!</span>[
Result::Ok(<span class="string">b"The first line.\n"</span>.as_slice()),
Result::Ok(<span class="string">b"The second line."</span>.as_slice()),
Result::Ok(<span class="string">b"\nThe third"</span>.as_slice()),
Result::Ok(<span class="string">b" line.\nThe fourth line.\nThe fifth line.\n"</span>.as_slice()),
]);
<span class="comment">// Convert it to an AsyncRead.
</span><span class="kw">let </span><span class="kw-2">mut </span>read = StreamReader::new(stream);
<span class="comment">// Loop through the lines from the `StreamReader`.
</span><span class="kw">let </span><span class="kw-2">mut </span>line = String::new();
<span class="kw">let </span><span class="kw-2">mut </span>lines = Vec::new();
<span class="kw">loop </span>{
line.clear();
<span class="kw">let </span>len = read.read_line(<span class="kw-2">&amp;mut </span>line).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">if </span>len == <span class="number">0 </span>{ <span class="kw">break</span>; }
lines.push(line.clone());
}
<span class="comment">// Verify that we got the lines we expected.
</span><span class="macro">assert_eq!</span>(
lines,
<span class="macro">vec!</span>[
<span class="string">"The first line.\n"</span>,
<span class="string">"The second line.\n"</span>,
<span class="string">"The third line.\n"</span>,
<span class="string">"The fourth line.\n"</span>,
<span class="string">"The fifth line.\n"</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-StreamReader%3CS,+B%3E" class="impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#163-204">Source</a><a href="#impl-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B, E&gt; <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<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.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;B, E&gt;&gt;,
B: <a class="trait" href="../../bytes/buf/buf_impl/trait.Buf.html" title="trait bytes::buf::buf_impl::Buf">Buf</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;,</div></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/tokio_util/io/stream_reader.rs.html#178-183">Source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(stream: S) -&gt; Self</h4></section></summary><div class="docblock"><p>Convert a stream of byte chunks into an <a href="../../tokio/io/async_read/trait.AsyncRead.html" title="trait tokio::io::async_read::AsyncRead"><code>AsyncRead</code></a>.</p>
<p>The item should be a <a href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result"><code>Result</code></a> with the ok variant being something that
implements the <a href="../../bytes/buf/buf_impl/trait.Buf.html" title="trait bytes::buf::buf_impl::Buf"><code>Buf</code></a> trait (e.g. <code>Cursor&lt;Vec&lt;u8&gt;&gt;</code> or <code>Bytes</code>). The error
should be convertible into an <a href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">io error</a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner_with_chunk" class="method"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#197-203">Source</a><h4 class="code-header">pub fn <a href="#method.into_inner_with_chunk" class="fn">into_inner_with_chunk</a>(self) -&gt; (S, <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;)</h4></section></summary><div class="docblock"><p>Consumes this <code>StreamReader</code>, returning a Tuple consisting
of the underlying stream and an Option of the internal buffer,
which is Some in case the buffer contains elements.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-StreamReader%3CS,+B%3E-1" class="impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#206-238">Source</a><a href="#impl-StreamReader%3CS,+B%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;S, B&gt; <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get_ref" class="method"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#210-212">Source</a><h4 class="code-header">pub fn <a href="#method.get_ref" class="fn">get_ref</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;S</a></h4></section></summary><div class="docblock"><p>Gets a reference to the underlying stream.</p>
<p>It is inadvisable to directly read from the underlying stream.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_mut" class="method"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#217-219">Source</a><h4 class="code-header">pub 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.93.1/std/primitive.reference.html">&amp;mut S</a></h4></section></summary><div class="docblock"><p>Gets a mutable reference to the underlying stream.</p>
<p>It is inadvisable to directly read from the underlying stream.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_pin_mut" class="method"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#224-226">Source</a><h4 class="code-header">pub fn <a href="#method.get_pin_mut" class="fn">get_pin_mut</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut S</a>&gt;</h4></section></summary><div class="docblock"><p>Gets a pinned mutable reference to the underlying stream.</p>
<p>It is inadvisable to directly read from the underlying stream.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner" class="method"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#235-237">Source</a><h4 class="code-header">pub fn <a href="#method.into_inner" class="fn">into_inner</a>(self) -&gt; S</h4></section></summary><div class="docblock"><p>Consumes this <code>BufWriter</code>, returning the underlying stream.</p>
<p>Note that any leftover data in the internal buffer is lost.
If you additionally want access to the internal buffer use
<a href="struct.StreamReader.html#method.into_inner_with_chunk" title="method tokio_util::io::StreamReader::into_inner_with_chunk"><code>into_inner_with_chunk</code></a>.</p>
</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-AsyncBufRead-for-StreamReader%3CS,+B%3E" class="impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#268-302">Source</a><a href="#impl-AsyncBufRead-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B, E&gt; <a class="trait" href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html" title="trait tokio::io::async_buf_read::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<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.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;B, E&gt;&gt;,
B: <a class="trait" href="../../bytes/buf/buf_impl/trait.Buf.html" title="trait bytes::buf::buf_impl::Buf">Buf</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_fill_buf" class="method trait-impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#274-292">Source</a><a href="#method.poll_fill_buf" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html#tymethod.poll_fill_buf" class="fn">poll_fill_buf</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]&gt;&gt;</h4></section></summary><div class='docblock'>Attempts to return the contents of the internal buffer, filling it with more data
from the inner reader if it is empty. <a href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html#tymethod.poll_fill_buf">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.consume" class="method trait-impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#293-301">Source</a><a href="#method.consume" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html#tymethod.consume" class="fn">consume</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;, amt: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Tells this buffer that <code>amt</code> bytes have been consumed from the buffer,
so they should no longer be returned in calls to <a href="../../tokio/io/async_read/trait.AsyncRead.html#tymethod.poll_read" title="method tokio::io::async_read::AsyncRead::poll_read"><code>poll_read</code></a>. <a href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html#tymethod.consume">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-StreamReader%3CS,+B%3E" class="impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#240-266">Source</a><a href="#impl-AsyncRead-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B, E&gt; <a class="trait" href="../../tokio/io/async_read/trait.AsyncRead.html" title="trait tokio::io::async_read::AsyncRead">AsyncRead</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<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.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;B, E&gt;&gt;,
B: <a class="trait" href="../../bytes/buf/buf_impl/trait.Buf.html" title="trait bytes::buf::buf_impl::Buf">Buf</a>,
E: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;,</div></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/tokio_util/io/stream_reader.rs.html#246-265">Source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/async_read/trait.AsyncRead.html#tymethod.poll_read" class="fn">poll_read</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/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.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
buf: &amp;mut <a class="struct" href="../../tokio/io/read_buf/struct.ReadBuf.html" title="struct tokio::io::read_buf::ReadBuf">ReadBuf</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/std/primitive.unit.html">()</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempts to read from the <code>AsyncRead</code> into <code>buf</code>. <a href="../../tokio/io/async_read/trait.AsyncRead.html#tymethod.poll_read">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-StreamReader%3CS,+B%3E" class="impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#155">Source</a><a href="#impl-Debug-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&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/tokio_util/io/stream_reader.rs.html#155">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Sink%3CT%3E-for-StreamReader%3CS,+B%3E" class="impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#329-346">Source</a><a href="#impl-Sink%3CT%3E-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S: <a class="trait" href="../../futures_sink/trait.Sink.html" title="trait futures_sink::Sink">Sink</a>&lt;T, Error = E&gt;, B, E, T&gt; <a class="trait" href="../../futures_sink/trait.Sink.html" title="trait futures_sink::Sink">Sink</a>&lt;T&gt; for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;</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="../../src/tokio_util/io/stream_reader.rs.html#330">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="../../futures_sink/trait.Sink.html#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></summary><div class='docblock'>The type of value produced by the sink when an error occurs.</div></details><details class="toggle method-toggle" open><summary><section id="method.poll_ready" class="method trait-impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#331-333">Source</a><a href="#method.poll_ready" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_sink/trait.Sink.html#tymethod.poll_ready" class="fn">poll_ready</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="../../futures_sink/trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>&gt;&gt;</h4></section></summary><div class='docblock'>Attempts to prepare the <code>Sink</code> to receive a value. <a href="../../futures_sink/trait.Sink.html#tymethod.poll_ready">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.start_send" class="method trait-impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#335-337">Source</a><a href="#method.start_send" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_sink/trait.Sink.html#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;&amp;mut Self&gt;, item: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="../../futures_sink/trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Begin the process of sending a value to the sink.
Each call to this function must be preceded by a successful call to
<code>poll_ready</code> which returned <code>Poll::Ready(Ok(()))</code>. <a href="../../futures_sink/trait.Sink.html#tymethod.start_send">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/tokio_util/io/stream_reader.rs.html#339-341">Source</a><a href="#method.poll_flush" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_sink/trait.Sink.html#tymethod.poll_flush" class="fn">poll_flush</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="../../futures_sink/trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>&gt;&gt;</h4></section></summary><div class='docblock'>Flush any remaining output from this sink. <a href="../../futures_sink/trait.Sink.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/tokio_util/io/stream_reader.rs.html#343-345">Source</a><a href="#method.poll_close" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_sink/trait.Sink.html#tymethod.poll_close" class="fn">poll_close</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="../../futures_sink/trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>&gt;&gt;</h4></section></summary><div class='docblock'>Flush any remaining output and close this sink, if necessary. <a href="../../futures_sink/trait.Sink.html#tymethod.poll_close">Read more</a></div></details></div></details><section id="impl-Unpin-for-StreamReader%3CS,+B%3E" class="impl"><a class="src rightside" href="../../src/tokio_util/io/stream_reader.rs.html#309">Source</a><a href="#impl-Unpin-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, B&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;</h3></section></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-StreamReader%3CS,+B%3E" class="impl"><a href="#impl-Freeze-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-StreamReader%3CS,+B%3E" class="impl"><a href="#impl-RefUnwindSafe-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-StreamReader%3CS,+B%3E" class="impl"><a href="#impl-Send-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-StreamReader%3CS,+B%3E" class="impl"><a href="#impl-Sync-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-UnwindSafe-for-StreamReader%3CS,+B%3E" class="impl"><a href="#impl-UnwindSafe-for-StreamReader%3CS,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, B&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.StreamReader.html" title="struct tokio_util::io::StreamReader">StreamReader</a>&lt;S, B&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></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.93.1/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.93.1/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.93.1/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.93.1/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.93.1/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.93.1/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.93.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsyncBufReadExt-for-R" class="impl"><a class="src rightside" href="../../src/tokio/io/util/async_buf_read_ext.rs.html#357">Source</a><a href="#impl-AsyncBufReadExt-for-R" class="anchor">§</a><h3 class="code-header">impl&lt;R&gt; <a class="trait" href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html" title="trait tokio::io::util::async_buf_read_ext::AsyncBufReadExt">AsyncBufReadExt</a> for R<div class="where">where
R: <a class="trait" href="../../tokio/io/async_buf_read/trait.AsyncBufRead.html" title="trait tokio::io::async_buf_read::AsyncBufRead">AsyncBufRead</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/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_until" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_buf_read_ext.rs.html#96-98">Source</a><a href="#method.read_until" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.read_until" class="fn">read_until</a>&lt;'a&gt;(
&amp;'a mut self,
byte: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>,
buf: &amp;'a mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>&gt;,
) -&gt; ReadUntil&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads all bytes into <code>buf</code> until the delimiter <code>byte</code> or EOF is reached. <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.read_until">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_line" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_buf_read_ext.rs.html#199-201">Source</a><a href="#method.read_line" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.read_line" class="fn">read_line</a>&lt;'a&gt;(&amp;'a mut self, buf: &amp;'a mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>) -&gt; ReadLine&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads all bytes until a newline (the 0xA byte) is reached, and append
them to the provided buffer. <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.read_line">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.split" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_buf_read_ext.rs.html#240-242">Source</a><a href="#method.split" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.split" class="fn">split</a>(self, byte: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>) -&gt; <a class="struct" href="../../tokio/io/util/split/struct.Split.html" title="struct tokio::io::util::split::Split">Split</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Returns a stream of the contents of this reader split on the byte
<code>byte</code>. <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.split">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fill_buf" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_buf_read_ext.rs.html#277-279">Source</a><a href="#method.fill_buf" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.fill_buf" class="fn">fill_buf</a>(&amp;mut self) -&gt; FillBuf&lt;'_, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Returns the contents of the internal buffer, filling it with more
data from the inner reader if it is empty. <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.fill_buf">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.consume-1" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_buf_read_ext.rs.html#299-301">Source</a><a href="#method.consume-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.consume" class="fn">consume</a>(&amp;mut self, amt: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Tells this buffer that <code>amt</code> bytes have been consumed from the
buffer, so they should no longer be returned in calls to <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read" title="method tokio::io::util::async_read_ext::AsyncReadExt::read"><code>read</code></a>. <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.consume">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lines" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_buf_read_ext.rs.html#348-350">Source</a><a href="#method.lines" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.lines" class="fn">lines</a>(self) -&gt; <a class="struct" href="../../tokio/io/util/lines/struct.Lines.html" title="struct tokio::io::util::lines::Lines">Lines</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Returns a stream over the lines of this reader.
This method is the async equivalent to <a href="https://doc.rust-lang.org/1.93.1/std/io/trait.BufRead.html#method.lines" title="method std::io::BufRead::lines"><code>BufRead::lines</code></a>. <a href="../../tokio/io/util/async_buf_read_ext/trait.AsyncBufReadExt.html#method.lines">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/tokio/io/util/async_read_ext.rs.html#1454">Source</a><a href="#impl-AsyncReadExt-for-R" class="anchor">§</a><h3 class="code-header">impl&lt;R&gt; <a class="trait" href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html" title="trait tokio::io::util::async_read_ext::AsyncReadExt">AsyncReadExt</a> for R<div class="where">where
R: <a class="trait" href="../../tokio/io/async_read/trait.AsyncRead.html" title="trait tokio::io::async_read::AsyncRead">AsyncRead</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/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.chain" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#98-101">Source</a><a href="#method.chain" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.chain" class="fn">chain</a>&lt;R&gt;(self, next: R) -&gt; <a class="struct" href="../../tokio/io/util/chain/struct.Chain.html" title="struct tokio::io::util::chain::Chain">Chain</a>&lt;Self, R&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: <a class="trait" href="../../tokio/io/async_read/trait.AsyncRead.html" title="trait tokio::io::async_read::AsyncRead">AsyncRead</a>,</div></h4></section></summary><div class='docblock'>Creates a new <code>AsyncRead</code> instance that chains this stream with
<code>next</code>. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.chain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#177-179">Source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/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.93.1/std/primitive.u8.html">u8</a>]) -&gt; Read&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Pulls some bytes from this source into the specified buffer,
returning how many bytes were read. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_buf" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#258-261">Source</a><a href="#method.read_buf" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_buf" class="fn">read_buf</a>&lt;'a, B&gt;(&amp;'a mut self, buf: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;'a mut B</a>) -&gt; ReadBuf&lt;'a, Self, B&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
B: <a class="trait" href="../../bytes/buf/buf_mut/trait.BufMut.html" title="trait bytes::buf::buf_mut::BufMut">BufMut</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Pulls some bytes from this source into the specified buffer,
advancing the buffers internal cursor. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_buf">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/tokio/io/util/async_read_ext.rs.html#323-325">Source</a><a href="#method.read_exact" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/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.93.1/std/primitive.u8.html">u8</a>]) -&gt; ReadExact&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/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="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_exact">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u8" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u8" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u8" class="fn">read_u8</a>(&amp;mut self) -&gt; ReadU8&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 8 bit integer from the underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u8">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i8" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i8" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i8" class="fn">read_i8</a>(&amp;mut self) -&gt; ReadI8&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads a signed 8 bit integer from the underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i8">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u16" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u16" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u16" class="fn">read_u16</a>(&amp;mut self) -&gt; ReadU16&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 16-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u16">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i16" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i16" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i16" class="fn">read_i16</a>(&amp;mut self) -&gt; ReadI16&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads a signed 16-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i16">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u32" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u32" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u32" class="fn">read_u32</a>(&amp;mut self) -&gt; ReadU32&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 32-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u32">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i32" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i32" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i32" class="fn">read_i32</a>(&amp;mut self) -&gt; ReadI32&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads a signed 32-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i32">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u64" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u64" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u64" class="fn">read_u64</a>(&amp;mut self) -&gt; ReadU64&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 64-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u64">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i64" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i64" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i64" class="fn">read_i64</a>(&amp;mut self) -&gt; ReadI64&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an signed 64-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i64">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u128" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u128" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u128" class="fn">read_u128</a>(&amp;mut self) -&gt; ReadU128&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 128-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u128">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i128" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i128" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i128" class="fn">read_i128</a>(&amp;mut self) -&gt; ReadI128&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an signed 128-bit integer in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i128">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_f32" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_f32" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f32" class="fn">read_f32</a>(&amp;mut self) -&gt; ReadF32&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an 32-bit floating point type in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f32">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_f64" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_f64" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f64" class="fn">read_f64</a>(&amp;mut self) -&gt; ReadF64&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an 64-bit floating point type in big-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f64">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u16_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u16_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u16_le" class="fn">read_u16_le</a>(&amp;mut self) -&gt; ReadU16Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 16-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u16_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i16_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i16_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i16_le" class="fn">read_i16_le</a>(&amp;mut self) -&gt; ReadI16Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads a signed 16-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i16_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u32_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u32_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u32_le" class="fn">read_u32_le</a>(&amp;mut self) -&gt; ReadU32Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 32-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u32_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i32_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i32_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i32_le" class="fn">read_i32_le</a>(&amp;mut self) -&gt; ReadI32Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads a signed 32-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i32_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u64_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u64_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u64_le" class="fn">read_u64_le</a>(&amp;mut self) -&gt; ReadU64Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 64-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u64_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i64_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i64_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i64_le" class="fn">read_i64_le</a>(&amp;mut self) -&gt; ReadI64Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an signed 64-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i64_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_u128_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_u128_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u128_le" class="fn">read_u128_le</a>(&amp;mut self) -&gt; ReadU128Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an unsigned 128-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_u128_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_i128_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_i128_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i128_le" class="fn">read_i128_le</a>(&amp;mut self) -&gt; ReadI128Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an signed 128-bit integer in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_i128_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_f32_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_f32_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f32_le" class="fn">read_f32_le</a>(&amp;mut self) -&gt; ReadF32Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an 32-bit floating point type in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f32_le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_f64_le" class="method trait-impl"><a class="src rightside" href="../../src/tokio/io/util/async_read_ext.rs.html#330-1304">Source</a><a href="#method.read_f64_le" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f64_le" class="fn">read_f64_le</a>(&amp;mut self) -&gt; ReadF64Le&lt;&amp;mut Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads an 64-bit floating point type in little-endian order from the
underlying reader. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_f64_le">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/tokio/io/util/async_read_ext.rs.html#1354-1356">Source</a><a href="#method.read_to_end" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/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.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>&gt;) -&gt; ReadToEnd&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads all bytes until EOF in this source, placing them into <code>buf</code>. <a href="../../tokio/io/util/async_read_ext/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/tokio/io/util/async_read_ext.rs.html#1404-1406">Source</a><a href="#method.read_to_string" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_to_string" class="fn">read_to_string</a>&lt;'a&gt;(
&amp;'a mut self,
dst: &amp;'a mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
) -&gt; ReadToString&lt;'a, Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>Reads all bytes until EOF in this source, appending them to <code>buf</code>. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.read_to_string">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/tokio/io/util/async_read_ext.rs.html#1445-1447">Source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.take" class="fn">take</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u64.html">u64</a>) -&gt; <a class="struct" href="../../tokio/io/util/take/struct.Take.html" title="struct tokio::io::util::take::Take">Take</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an adaptor which reads at most <code>limit</code> bytes from it. <a href="../../tokio/io/util/async_read_ext/trait.AsyncReadExt.html#method.take">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.93.1/src/core/borrow.rs.html#212">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.93.1/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.93.1/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.93.1/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/src/core/borrow.rs.html#221">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.93.1/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.93.1/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.93.1/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#785">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.93.1/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.93.1/src/core/convert/mod.rs.html#788">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/src/core/convert/mod.rs.html#767-769">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.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#777">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#827-829">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.93.1/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.93.1/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-2" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#831">Source</a><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.93.1/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.93.1/src/core/convert/mod.rs.html#834">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#811-813">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.93.1/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.93.1/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-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#815">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#818">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/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></div></section></div></main></body></html>