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

156 lines
94 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="The `BufReader` struct adds buffering to any reader."><title>BufReader in futures_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="futures_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="#">BufReader</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../futures_util/index.html">futures_<wbr>util</a><span class="version">0.3.32</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">BufReader</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.buffer" title="buffer">buffer</a></li><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.new" title="new">new</a></li><li><a href="#method.poll_seek_relative" title="poll_seek_relative">poll_seek_relative</a></li><li><a href="#method.seek_relative" title="seek_relative">seek_relative</a></li><li><a href="#method.with_capacity" title="with_capacity">with_capacity</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsyncBufRead-for-BufReader%3CR%3E" title="AsyncBufRead">AsyncBufRead</a></li><li><a href="#impl-AsyncRead-for-BufReader%3CR%3E" title="AsyncRead">AsyncRead</a></li><li><a href="#impl-AsyncSeek-for-BufReader%3CR%3E" title="AsyncSeek">AsyncSeek</a></li><li><a href="#impl-AsyncWrite-for-BufReader%3CR%3E" title="AsyncWrite">AsyncWrite</a></li><li><a href="#impl-Debug-for-BufReader%3CR%3E" title="Debug">Debug</a></li><li><a href="#impl-Unpin-for-BufReader%3CR%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-BufReader%3CR%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BufReader%3CR%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BufReader%3CR%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-BufReader%3CR%3E" title="Sync">Sync</a></li><li><a href="#impl-UnwindSafe-for-BufReader%3CR%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-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-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 futures_<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">futures_util</a>::<wbr><a href="index.html">io</a></div><h1>Struct <span class="struct">BufReader</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/futures_util/io/buf_reader.rs.html#13-40">Source</a> </span></div><pre class="rust item-decl"><code>pub struct BufReader&lt;R&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>The <code>BufReader</code> struct adds buffering to any reader.</p>
<p>It can be excessively inefficient to work directly with a <a href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead"><code>AsyncRead</code></a>
instance. A <code>BufReader</code> performs large, infrequent reads on the underlying
<a href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead"><code>AsyncRead</code></a> and maintains an in-memory buffer of the results.</p>
<p><code>BufReader</code> can improve the speed of programs that make <em>small</em> and
<em>repeated</em> read calls to the same file or network socket. It does not
help when reading very large amounts at once, or reading just one or a few
times. It also provides no advantage when reading from a source that is
already in memory, like a <code>Vec&lt;u8&gt;</code>.</p>
<p>When the <code>BufReader</code> is dropped, the contents of its buffer will be
discarded. Creating multiple instances of a <code>BufReader</code> on the same
stream can cause data loss.</p>
</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-BufReader%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#42-55">Source</a><a href="#impl-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a>&gt; <a class="struct" href="struct.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&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/futures_util/io/buf_reader.rs.html#45-47">Source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(inner: R) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>BufReader</code> with a default buffer capacity. The default is currently 8 KB,
but may change in the future.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#50-54">Source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, inner: R) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new <code>BufReader</code> with the specified buffer capacity.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BufReader%3CR%3E-1" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#57-74">Source</a><a href="#impl-BufReader%3CR%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;R&gt; <a class="struct" href="struct.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&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/futures_util/io/buf_reader.rs.html#58">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;R</a></h4></section></summary><div class="docblock"><p>Acquires a reference to the underlying sink or stream that this combinator is
pulling from.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_mut" class="method"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#58">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 R</a></h4></section></summary><div class="docblock"><p>Acquires a mutable reference to the underlying sink or stream that this
combinator is pulling from.</p>
<p>Note that care must be taken to avoid tampering with the state of the
sink or stream which may otherwise confuse this combinator.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_pin_mut" class="method"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#58">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 R</a>&gt;</h4></section></summary><div class="docblock"><p>Acquires a pinned mutable reference to the underlying sink or stream that this
combinator is pulling from.</p>
<p>Note that care must be taken to avoid tampering with the state of the
sink or stream which may otherwise confuse this combinator.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner" class="method"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#58">Source</a><h4 class="code-header">pub fn <a href="#method.into_inner" class="fn">into_inner</a>(self) -&gt; R</h4></section></summary><div class="docblock"><p>Consumes this combinator, returning the underlying sink or stream.</p>
<p>Note that this may discard intermediate state of this combinator, so
care should be taken to avoid losing resources when this is called.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.buffer" class="method"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#63-65">Source</a><h4 class="code-header">pub fn <a href="#method.buffer" class="fn">buffer</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]"></a></h4></section></summary><div class="docblock"><p>Returns a reference to the internally buffered data.</p>
<p>Unlike <code>fill_buf</code>, this will not attempt to fill the buffer if it is empty.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BufReader%3CR%3E-2" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#76-108">Source</a><a href="#impl-BufReader%3CR%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a> + <a class="trait" href="trait.AsyncSeek.html" title="trait futures_util::io::AsyncSeek">AsyncSeek</a>&gt; <a class="struct" href="struct.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.seek_relative" class="method"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#81-83">Source</a><h4 class="code-header">pub fn <a href="#method.seek_relative" class="fn">seek_relative</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;, offset: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i64.html">i64</a>) -&gt; <a class="struct" href="struct.SeeKRelative.html" title="struct futures_util::io::SeeKRelative">SeeKRelative</a>&lt;'_, R&gt; <a href="#" class="tooltip" data-notable-ty="SeeKRelative&lt;&#39;_, R&gt;"></a></h4></section></summary><div class="docblock"><p>Seeks relative to the current position. If the new position lies within the buffer,
the buffer will not be flushed, allowing for more efficient seeks.
This method does not return the location of the underlying reader, so the caller
must track this information themselves if it is required.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.poll_seek_relative" class="method"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#89-107">Source</a><h4 class="code-header">pub fn <a href="#method.poll_seek_relative" class="fn">poll_seek_relative</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;,
offset: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i64.html">i64</a>,
) -&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"><p>Attempts to seek relative to the current position. If the new position lies within the buffer,
the buffer will not be flushed, allowing for more efficient seeks.
This method does not return the location of the underlying reader, so the caller
must track this information themselves if it is required.</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-BufReader%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#148-167">Source</a><a href="#impl-AsyncBufRead-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a>&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;</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/futures_util/io/buf_reader.rs.html#149-162">Source</a><a href="#method.poll_fill_buf" class="anchor">§</a><h4 class="code-header">fn <a href="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'>Attempt to return the contents of the internal buffer, filling it with more data
from the inner reader if it is empty. <a href="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/futures_util/io/buf_reader.rs.html#164-166">Source</a><a href="#method.consume" class="anchor">§</a><h4 class="code-header">fn <a href="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="trait.AsyncRead.html#tymethod.poll_read" title="method futures_util::io::AsyncRead::poll_read"><code>poll_read</code></a>. <a href="trait.AsyncBufRead.html#tymethod.consume">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-BufReader%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#110-146">Source</a><a href="#impl-AsyncRead-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a>&gt; <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a> for <a class="struct" href="struct.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&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/futures_util/io/buf_reader.rs.html#111-128">Source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="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="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>],
) -&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.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="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_util/io/buf_reader.rs.html#130-145">Source</a><a href="#method.poll_read_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncRead.html#method.poll_read_vectored" class="fn">poll_read_vectored</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;,
bufs: &amp;mut [<a class="struct" href="https://doc.rust-lang.org/1.93.1/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.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.usize.html">usize</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="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-BufReader%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#182-234">Source</a><a href="#impl-AsyncSeek-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a> + <a class="trait" href="trait.AsyncSeek.html" title="trait futures_util::io::AsyncSeek">AsyncSeek</a>&gt; <a class="trait" href="trait.AsyncSeek.html" title="trait futures_util::io::AsyncSeek">AsyncSeek</a> for <a class="struct" href="struct.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&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/futures_util/io/buf_reader.rs.html#205-233">Source</a><a href="#method.poll_seek" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncSeek.html#tymethod.poll_seek" class="fn">poll_seek</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;,
pos: <a class="enum" href="https://doc.rust-lang.org/1.93.1/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>,
) -&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.u64.html">u64</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Seek to an offset, in bytes, in the underlying reader.</p>
<p>The position used for seeking with <code>SeekFrom::Current(_)</code> is the
position the underlying reader would be at if the <code>BufReader</code> had no
internal buffer.</p>
<p>Seeking always discards the internal buffer, even if the seek position
would otherwise fall within it. This guarantees that calling
<code>.into_inner()</code> immediately after a seek yields the underlying reader
at the same position.</p>
<p>To seek without discarding the internal buffer, use
<a href="struct.BufReader.html#method.seek_relative" title="method futures_util::io::BufReader::seek_relative"><code>BufReader::seek_relative</code></a> or
<a href="struct.BufReader.html#method.poll_seek_relative" title="method futures_util::io::BufReader::poll_seek_relative"><code>BufReader::poll_seek_relative</code></a>.</p>
<p>See <a href="trait.AsyncSeek.html" title="trait futures_util::io::AsyncSeek"><code>AsyncSeek</code></a> for more details.</p>
<p>Note: In the edge case where youre seeking with <code>SeekFrom::Current(n)</code>
where <code>n</code> minus the internal buffer length overflows an <code>i64</code>, two
seeks will be performed instead of one. If the second seek returns
<code>Err</code>, the underlying reader will be left at the same position it would
have if you called <code>seek</code> with <code>SeekFrom::Current(0)</code>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncWrite-for-BufReader%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#169-171">Source</a><a href="#impl-AsyncWrite-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait.AsyncWrite.html" title="trait futures_util::io::AsyncWrite">AsyncWrite</a>&gt; <a class="trait" href="trait.AsyncWrite.html" title="trait futures_util::io::AsyncWrite">AsyncWrite</a> for <a class="struct" href="struct.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&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/futures_util/io/buf_reader.rs.html#170">Source</a><a href="#method.poll_write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncWrite.html#tymethod.poll_write" class="fn">poll_write</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;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>],
) -&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.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="trait.AsyncWrite.html#tymethod.poll_write">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_util/io/buf_reader.rs.html#170">Source</a><a href="#method.poll_write_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncWrite.html#method.poll_write_vectored" class="fn">poll_write_vectored</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;,
bufs: &amp;[<a class="struct" href="https://doc.rust-lang.org/1.93.1/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.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.usize.html">usize</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="trait.AsyncWrite.html#method.poll_write_vectored">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/futures_util/io/buf_reader.rs.html#170">Source</a><a href="#method.poll_flush" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncWrite.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="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'>Attempt to flush the object, ensuring that any buffered data reach
their destination. <a href="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/futures_util/io/buf_reader.rs.html#170">Source</a><a href="#method.poll_close" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncWrite.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="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'>Attempt to close the object. <a href="trait.AsyncWrite.html#tymethod.poll_close">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BufReader%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#173-180">Source</a><a href="#impl-Debug-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <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.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&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/futures_util/io/buf_reader.rs.html#174-179">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><section id="impl-Unpin-for-BufReader%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_reader.rs.html#13-40">Source</a><a href="#impl-Unpin-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'__pin, R&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.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;<div class="where">where
PinnedFieldsOf&lt;__Origin&lt;'__pin, R&gt;&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>,</div></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-BufReader%3CR%3E" class="impl"><a href="#impl-Freeze-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R&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.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;<div class="where">where
R: <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-BufReader%3CR%3E" class="impl"><a href="#impl-RefUnwindSafe-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R&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.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;<div class="where">where
R: <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-BufReader%3CR%3E" class="impl"><a href="#impl-Send-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R&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.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;<div class="where">where
R: <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-BufReader%3CR%3E" class="impl"><a href="#impl-Sync-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R&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.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;<div class="where">where
R: <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-BufReader%3CR%3E" class="impl"><a href="#impl-UnwindSafe-for-BufReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R&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.BufReader.html" title="struct futures_util::io::BufReader">BufReader</a>&lt;R&gt;<div class="where">where
R: <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/futures_util/io/mod.rs.html#816">Source</a><a href="#impl-AsyncBufReadExt-for-R" class="anchor">§</a><h3 class="code-header">impl&lt;R&gt; <a class="trait" href="trait.AsyncBufReadExt.html" title="trait futures_util::io::AsyncBufReadExt">AsyncBufReadExt</a> for R<div class="where">where
R: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::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.fill_buf" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#639-644">Source</a><a href="#method.fill_buf" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncBufReadExt.html#method.fill_buf" class="fn">fill_buf</a>(&amp;mut self) -&gt; <a class="struct" href="struct.FillBuf.html" title="struct futures_util::io::FillBuf">FillBuf</a>&lt;'_, Self&gt; <a href="#" class="tooltip" data-notable-ty="FillBuf&lt;&#39;_, Self&gt;"></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'>Creates a future which will wait for a non-empty buffer to be available from this I/O
object or EOF to be reached. <a href="trait.AsyncBufReadExt.html#method.fill_buf">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.consume_unpin" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#663-668">Source</a><a href="#method.consume_unpin" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncBufReadExt.html#method.consume_unpin" class="fn">consume_unpin</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'>A convenience for calling <a href="trait.AsyncBufRead.html#tymethod.consume" title="method futures_util::io::AsyncBufRead::consume"><code>AsyncBufRead::consume</code></a> on <a href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin"><code>Unpin</code></a> IO types. <a href="trait.AsyncBufReadExt.html#method.consume_unpin">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_until" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#711-716">Source</a><a href="#method.read_until" class="anchor">§</a><h4 class="code-header">fn <a href="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; <a class="struct" href="struct.ReadUntil.html" title="struct futures_util::io::ReadUntil">ReadUntil</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="ReadUntil&lt;&#39;a, Self&gt;"></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'>Creates a future which will read all the bytes associated with this I/O
object into <code>buf</code> until the delimiter <code>byte</code> or EOF is reached.
This method is the async equivalent to <a href="https://doc.rust-lang.org/1.93.1/std/io/trait.BufRead.html#method.read_until" title="method std::io::BufRead::read_until"><code>BufRead::read_until</code></a>. <a href="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/futures_util/io/mod.rs.html#769-774">Source</a><a href="#method.read_line" class="anchor">§</a><h4 class="code-header">fn <a href="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; <a class="struct" href="struct.ReadLine.html" title="struct futures_util::io::ReadLine">ReadLine</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="ReadLine&lt;&#39;a, Self&gt;"></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'>Creates a future which will read all the bytes associated with this I/O
object into <code>buf</code> until a newline (the 0xA byte) or EOF is reached,
This method is the async equivalent to <a href="https://doc.rust-lang.org/1.93.1/std/io/trait.BufRead.html#method.read_line" title="method std::io::BufRead::read_line"><code>BufRead::read_line</code></a>. <a href="trait.AsyncBufReadExt.html#method.read_line">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/futures_util/io/mod.rs.html#808-813">Source</a><a href="#method.lines" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncBufReadExt.html#method.lines" class="fn">lines</a>(self) -&gt; <a class="struct" href="struct.Lines.html" title="struct futures_util::io::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="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/futures_util/io/mod.rs.html#390">Source</a><a href="#impl-AsyncReadExt-for-R" class="anchor">§</a><h3 class="code-header">impl&lt;R&gt; <a class="trait" href="trait.AsyncReadExt.html" title="trait futures_util::io::AsyncReadExt">AsyncReadExt</a> for R<div class="where">where
R: <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::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/futures_util/io/mod.rs.html#164-170">Source</a><a href="#method.chain" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncReadExt.html#method.chain" class="fn">chain</a>&lt;R&gt;(self, next: R) -&gt; <a class="struct" href="struct.Chain.html" title="struct futures_util::io::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="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a>,</div></h4></section></summary><div class='docblock'>Creates an adaptor which will chain this stream with another. <a href="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/futures_util/io/mod.rs.html#196-201">Source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="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; <a class="struct" href="struct.Read.html" title="struct futures_util::io::Read">Read</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="Read&lt;&#39;a, Self&gt;"></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'>Tries to read some bytes directly into the given <code>buf</code> in asynchronous
manner, returning a future type. <a href="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_util/io/mod.rs.html#208-213">Source</a><a href="#method.read_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="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.93.1/std/io/struct.IoSliceMut.html" title="struct std::io::IoSliceMut">IoSliceMut</a>&lt;'a&gt;],
) -&gt; <a class="struct" href="struct.ReadVectored.html" title="struct futures_util::io::ReadVectored">ReadVectored</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="ReadVectored&lt;&#39;a, Self&gt;"></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'>Creates a future which will read from the <code>AsyncRead</code> into <code>bufs</code> using vectored
IO operations. <a href="trait.AsyncReadExt.html#method.read_vectored">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_util/io/mod.rs.html#252-257">Source</a><a href="#method.read_exact" class="anchor">§</a><h4 class="code-header">fn <a href="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; <a class="struct" href="struct.ReadExact.html" title="struct futures_util::io::ReadExact">ReadExact</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="ReadExact&lt;&#39;a, Self&gt;"></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'>Creates a future which will read exactly enough bytes to fill <code>buf</code>,
returning an error if end of file (EOF) is hit sooner. <a href="trait.AsyncReadExt.html#method.read_exact">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_util/io/mod.rs.html#278-283">Source</a><a href="#method.read_to_end" class="anchor">§</a><h4 class="code-header">fn <a href="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; <a class="struct" href="struct.ReadToEnd.html" title="struct futures_util::io::ReadToEnd">ReadToEnd</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="ReadToEnd&lt;&#39;a, Self&gt;"></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'>Creates a future which will read all the bytes from this <code>AsyncRead</code>. <a href="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_util/io/mod.rs.html#304-309">Source</a><a href="#method.read_to_string" class="anchor">§</a><h4 class="code-header">fn <a href="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.93.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
) -&gt; <a class="struct" href="struct.ReadToString.html" title="struct futures_util::io::ReadToString">ReadToString</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="ReadToString&lt;&#39;a, Self&gt;"></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'>Creates a future which will read all the bytes from this <code>AsyncRead</code>. <a href="trait.AsyncReadExt.html#method.read_to_string">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/futures_util/io/mod.rs.html#340-346">Source</a><a href="#method.split" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncReadExt.html#method.split" class="fn">split</a>(self) -&gt; (<a class="struct" href="struct.ReadHalf.html" title="struct futures_util::io::ReadHalf">ReadHalf</a>&lt;Self&gt;, <a class="struct" href="struct.WriteHalf.html" title="struct futures_util::io::WriteHalf">WriteHalf</a>&lt;Self&gt;)<div class="where">where
Self: <a class="trait" href="trait.AsyncWrite.html" title="trait futures_util::io::AsyncWrite">AsyncWrite</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'>Helper method for splitting this read/write object into two halves. <a href="trait.AsyncReadExt.html#method.split">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_util/io/mod.rs.html#367-372">Source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="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="struct.Take.html" title="struct futures_util::io::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 AsyncRead adapter which will read at most <code>limit</code> bytes
from the underlying reader. <a href="trait.AsyncReadExt.html#method.take">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_util/io/mod.rs.html#612">Source</a><a href="#impl-AsyncSeekExt-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; <a class="trait" href="trait.AsyncSeekExt.html" title="trait futures_util::io::AsyncSeekExt">AsyncSeekExt</a> for S<div class="where">where
S: <a class="trait" href="trait.AsyncSeek.html" title="trait futures_util::io::AsyncSeek">AsyncSeek</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.seek" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#593-598">Source</a><a href="#method.seek" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncSeekExt.html#method.seek" class="fn">seek</a>(&amp;mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.93.1/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -&gt; <a class="struct" href="struct.Seek.html" title="struct futures_util::io::Seek">Seek</a>&lt;'_, Self&gt; <a href="#" class="tooltip" data-notable-ty="Seek&lt;&#39;_, Self&gt;"></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'>Creates a future which will seek an IO object, and then yield the
new position in the object and the object itself. <a href="trait.AsyncSeekExt.html#method.seek">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.stream_position" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#604-609">Source</a><a href="#method.stream_position" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncSeekExt.html#method.stream_position" class="fn">stream_position</a>(&amp;mut self) -&gt; <a class="struct" href="struct.Seek.html" title="struct futures_util::io::Seek">Seek</a>&lt;'_, Self&gt; <a href="#" class="tooltip" data-notable-ty="Seek&lt;&#39;_, Self&gt;"></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'>Creates a future which will return the current seek position from the
start of the stream. <a href="trait.AsyncSeekExt.html#method.stream_position">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_util/io/mod.rs.html#584">Source</a><a href="#impl-AsyncWriteExt-for-W" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="trait.AsyncWriteExt.html" title="trait futures_util::io::AsyncWriteExt">AsyncWriteExt</a> for W<div class="where">where
W: <a class="trait" href="trait.AsyncWrite.html" title="trait futures_util::io::AsyncWrite">AsyncWrite</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.flush" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#416-421">Source</a><a href="#method.flush" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncWriteExt.html#method.flush" class="fn">flush</a>(&amp;mut self) -&gt; <a class="struct" href="struct.Flush.html" title="struct futures_util::io::Flush">Flush</a>&lt;'_, Self&gt; <a href="#" class="tooltip" data-notable-ty="Flush&lt;&#39;_, Self&gt;"></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'>Creates a future which will entirely flush this <code>AsyncWrite</code>. <a href="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_util/io/mod.rs.html#424-429">Source</a><a href="#method.close" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncWriteExt.html#method.close" class="fn">close</a>(&amp;mut self) -&gt; <a class="struct" href="struct.Close.html" title="struct futures_util::io::Close">Close</a>&lt;'_, Self&gt; <a href="#" class="tooltip" data-notable-ty="Close&lt;&#39;_, Self&gt;"></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'>Creates a future which will entirely close this <code>AsyncWrite</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#435-440">Source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="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.93.1/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="struct.Write.html" title="struct futures_util::io::Write">Write</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="Write&lt;&#39;a, Self&gt;"></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'>Creates a future which will write bytes from <code>buf</code> into the object. <a href="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_util/io/mod.rs.html#447-452">Source</a><a href="#method.write_vectored" class="anchor">§</a><h4 class="code-header">fn <a href="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.93.1/std/io/struct.IoSlice.html" title="struct std::io::IoSlice">IoSlice</a>&lt;'a&gt;],
) -&gt; <a class="struct" href="struct.WriteVectored.html" title="struct futures_util::io::WriteVectored">WriteVectored</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="WriteVectored&lt;&#39;a, Self&gt;"></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'>Creates a future which will write bytes from <code>bufs</code> into the object using vectored
IO operations. <a href="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_util/io/mod.rs.html#474-479">Source</a><a href="#method.write_all" class="anchor">§</a><h4 class="code-header">fn <a href="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.93.1/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="struct.WriteAll.html" title="struct futures_util::io::WriteAll">WriteAll</a>&lt;'a, Self&gt; <a href="#" class="tooltip" data-notable-ty="WriteAll&lt;&#39;a, Self&gt;"></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'>Write data into this object. <a href="trait.AsyncWriteExt.html#method.write_all">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_sink" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/io/mod.rs.html#576-581">Source</a><a href="#method.into_sink" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsyncWriteExt.html#method.into_sink" class="fn">into_sink</a>&lt;Item: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]&gt;&gt;(self) -&gt; <a class="struct" href="struct.IntoSink.html" title="struct futures_util::io::IntoSink">IntoSink</a>&lt;Self, Item&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'>Allow using an <a href="trait.AsyncWrite.html" title="trait futures_util::io::AsyncWrite"><code>AsyncWrite</code></a> as a <a href="../sink/trait.Sink.html" title="trait futures_util::sink::Sink"><code>Sink</code></a><code>&lt;Item: AsRef&lt;[u8]&gt;&gt;</code>. <a href="trait.AsyncWriteExt.html#method.into_sink">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-1" 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-1" 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" 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" 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><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.u8.html\">u8</a>]</div>","Close<'_, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Close.html\" title=\"struct futures_util::io::Close\">Close</a>&lt;'_, W&gt;</code></h3><pre><code><div class=\"where\">impl&lt;W: <a class=\"trait\" href=\"trait.AsyncWrite.html\" title=\"trait futures_util::io::AsyncWrite\">AsyncWrite</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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Close.html\" title=\"struct futures_util::io::Close\">Close</a>&lt;'_, W&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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;;</div>","FillBuf<'_, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.FillBuf.html\" title=\"struct futures_util::io::FillBuf\">FillBuf</a>&lt;'a, R&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, R&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.FillBuf.html\" title=\"struct futures_util::io::FillBuf\">FillBuf</a>&lt;'a, R&gt;<div class=\"where\">where\n R: <a class=\"trait\" href=\"trait.AsyncBufRead.html\" title=\"trait futures_util::io::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> + <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></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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 [<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.u8.html\">u8</a>]&gt;;</div>","Flush<'_, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Flush.html\" title=\"struct futures_util::io::Flush\">Flush</a>&lt;'_, W&gt;</code></h3><pre><code><div class=\"where\">impl&lt;W&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Flush.html\" title=\"struct futures_util::io::Flush\">Flush</a>&lt;'_, W&gt;<div class=\"where\">where\n W: <a class=\"trait\" href=\"trait.AsyncWrite.html\" title=\"trait futures_util::io::AsyncWrite\">AsyncWrite</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> + <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></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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;;</div>","Read<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Read.html\" title=\"struct futures_util::io::Read\">Read</a>&lt;'_, R&gt;</code></h3><pre><code><div class=\"where\">impl&lt;R: <a class=\"trait\" href=\"trait.AsyncRead.html\" title=\"trait futures_util::io::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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Read.html\" title=\"struct futures_util::io::Read\">Read</a>&lt;'_, R&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>","ReadExact<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.ReadExact.html\" title=\"struct futures_util::io::ReadExact\">ReadExact</a>&lt;'_, R&gt;</code></h3><pre><code><div class=\"where\">impl&lt;R: <a class=\"trait\" href=\"trait.AsyncRead.html\" title=\"trait futures_util::io::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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.ReadExact.html\" title=\"struct futures_util::io::ReadExact\">ReadExact</a>&lt;'_, R&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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;;</div>","ReadLine<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.ReadLine.html\" title=\"struct futures_util::io::ReadLine\">ReadLine</a>&lt;'_, R&gt;</code></h3><pre><code><div class=\"where\">impl&lt;R: <a class=\"trait\" href=\"trait.AsyncBufRead.html\" title=\"trait futures_util::io::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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.ReadLine.html\" title=\"struct futures_util::io::ReadLine\">ReadLine</a>&lt;'_, R&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>","ReadToEnd<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.ReadToEnd.html\" title=\"struct futures_util::io::ReadToEnd\">ReadToEnd</a>&lt;'_, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.ReadToEnd.html\" title=\"struct futures_util::io::ReadToEnd\">ReadToEnd</a>&lt;'_, A&gt;<div class=\"where\">where\n A: <a class=\"trait\" href=\"trait.AsyncRead.html\" title=\"trait futures_util::io::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> + <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></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>","ReadToString<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.ReadToString.html\" title=\"struct futures_util::io::ReadToString\">ReadToString</a>&lt;'_, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.ReadToString.html\" title=\"struct futures_util::io::ReadToString\">ReadToString</a>&lt;'_, A&gt;<div class=\"where\">where\n A: <a class=\"trait\" href=\"trait.AsyncRead.html\" title=\"trait futures_util::io::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> + <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></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>","ReadUntil<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.ReadUntil.html\" title=\"struct futures_util::io::ReadUntil\">ReadUntil</a>&lt;'_, R&gt;</code></h3><pre><code><div class=\"where\">impl&lt;R: <a class=\"trait\" href=\"trait.AsyncBufRead.html\" title=\"trait futures_util::io::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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.ReadUntil.html\" title=\"struct futures_util::io::ReadUntil\">ReadUntil</a>&lt;'_, R&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>","ReadVectored<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.ReadVectored.html\" title=\"struct futures_util::io::ReadVectored\">ReadVectored</a>&lt;'_, R&gt;</code></h3><pre><code><div class=\"where\">impl&lt;R: <a class=\"trait\" href=\"trait.AsyncRead.html\" title=\"trait futures_util::io::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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.ReadVectored.html\" title=\"struct futures_util::io::ReadVectored\">ReadVectored</a>&lt;'_, R&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>","SeeKRelative<'_, R>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.SeeKRelative.html\" title=\"struct futures_util::io::SeeKRelative\">SeeKRelative</a>&lt;'_, R&gt;</code></h3><pre><code><div class=\"where\">impl&lt;R&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.SeeKRelative.html\" title=\"struct futures_util::io::SeeKRelative\">SeeKRelative</a>&lt;'_, R&gt;<div class=\"where\">where\n R: <a class=\"trait\" href=\"trait.AsyncRead.html\" title=\"trait futures_util::io::AsyncRead\">AsyncRead</a> + <a class=\"trait\" href=\"trait.AsyncSeek.html\" title=\"trait futures_util::io::AsyncSeek\">AsyncSeek</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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;;</div>","Seek<'_, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Seek.html\" title=\"struct futures_util::io::Seek\">Seek</a>&lt;'_, S&gt;</code></h3><pre><code><div class=\"where\">impl&lt;S: <a class=\"trait\" href=\"trait.AsyncSeek.html\" title=\"trait futures_util::io::AsyncSeek\">AsyncSeek</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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Seek.html\" title=\"struct futures_util::io::Seek\">Seek</a>&lt;'_, S&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.u64.html\">u64</a>&gt;;</div>","Write<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Write.html\" title=\"struct futures_util::io::Write\">Write</a>&lt;'_, W&gt;</code></h3><pre><code><div class=\"where\">impl&lt;W: <a class=\"trait\" href=\"trait.AsyncWrite.html\" title=\"trait futures_util::io::AsyncWrite\">AsyncWrite</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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Write.html\" title=\"struct futures_util::io::Write\">Write</a>&lt;'_, W&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>","WriteAll<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.WriteAll.html\" title=\"struct futures_util::io::WriteAll\">WriteAll</a>&lt;'_, W&gt;</code></h3><pre><code><div class=\"where\">impl&lt;W: <a class=\"trait\" href=\"trait.AsyncWrite.html\" title=\"trait futures_util::io::AsyncWrite\">AsyncWrite</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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.WriteAll.html\" title=\"struct futures_util::io::WriteAll\">WriteAll</a>&lt;'_, W&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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;;</div>","WriteVectored<'a, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.WriteVectored.html\" title=\"struct futures_util::io::WriteVectored\">WriteVectored</a>&lt;'_, W&gt;</code></h3><pre><code><div class=\"where\">impl&lt;W: <a class=\"trait\" href=\"trait.AsyncWrite.html\" title=\"trait futures_util::io::AsyncWrite\">AsyncWrite</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> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.WriteVectored.html\" title=\"struct futures_util::io::WriteVectored\">WriteVectored</a>&lt;'_, W&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <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.usize.html\">usize</a>&gt;;</div>"}</script></section></div></main></body></html>