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

70 lines
28 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="Read bytes asynchronously."><title>AsyncBufRead 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 trait"><!--[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="#">AsyncBufRead</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="#">Async<wbr>BufRead</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.consume" title="consume">consume</a></li><li><a href="#tymethod.poll_fill_buf" title="poll_fill_buf">poll_fill_buf</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-AsyncBufRead-for-%26%5Bu8%5D" title="&#38;[u8]">&#38;[u8]</a></li><li><a href="#impl-AsyncBufRead-for-%26mut+T" title="&#38;mut T">&#38;mut T</a></li><li><a href="#impl-AsyncBufRead-for-Box%3CT%3E" title="Box&#60;T&#62;">Box&#60;T&#62;</a></li><li><a href="#impl-AsyncBufRead-for-Pin%3CP%3E" title="Pin&#60;P&#62;">Pin&#60;P&#62;</a></li></ul><h3><a href="#implementors">Implementors</a></h3></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>Trait <span class="trait">Async<wbr>BufRead</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_io/lib.rs.html#254">Source</a> </span></div><pre class="rust item-decl"><code>pub trait AsyncBufRead: <a class="trait" href="trait.AsyncRead.html" title="trait futures_util::io::AsyncRead">AsyncRead</a> {
// Required methods
fn <a href="#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="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>], <a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;;
<span class="item-spacer"></span> fn <a href="#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>);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Read bytes asynchronously.</p>
<p>This trait is analogous to the <code>std::io::BufRead</code> trait, but integrates
with the asynchronous task system. In particular, the <code>poll_fill_buf</code>
method, unlike <code>BufRead::fill_buf</code>, will automatically queue the current task
for wakeup and return if data is not yet available, rather than blocking
the calling thread.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.poll_fill_buf" class="method"><a class="src rightside" href="../../src/futures_io/lib.rs.html#283">Source</a><h4 class="code-header">fn <a href="#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="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>], <a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Attempt to return the contents of the internal buffer, filling it with more data
from the inner reader if it is empty.</p>
<p>On success, returns <code>Poll::Ready(Ok(buf))</code>.</p>
<p>If no data is available for reading, the method returns
<code>Poll::Pending</code> and arranges for the current task (via
<code>cx.waker().wake_by_ref()</code>) to receive a notification when the object becomes
readable or is closed.</p>
<p>This function is a lower-level call. It needs to be paired with the
<a href="trait.AsyncBufRead.html#tymethod.consume" title="method futures_util::io::AsyncBufRead::consume"><code>consume</code></a> method to function properly. When calling this
method, none of the contents will be “read” in the sense that later
calling <a href="trait.AsyncRead.html#tymethod.poll_read" title="method futures_util::io::AsyncRead::poll_read"><code>poll_read</code></a> may return the same contents. As such, <a href="trait.AsyncBufRead.html#tymethod.consume" title="method futures_util::io::AsyncBufRead::consume"><code>consume</code></a> must
be called with the number of bytes that are consumed from this buffer to
ensure that the bytes are never returned twice.</p>
<p>An empty buffer returned indicates that the stream has reached EOF.</p>
<h5 id="implementation"><a class="doc-anchor" href="#implementation">§</a>Implementation</h5>
<p>This function may not return errors of kind <code>WouldBlock</code> or
<code>Interrupted</code>. Implementations must convert <code>WouldBlock</code> into
<code>Poll::Pending</code> and either internally retry or convert
<code>Interrupted</code> into another error kind.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.consume" class="method"><a class="src rightside" href="../../src/futures_io/lib.rs.html#300">Source</a><h4 class="code-header">fn <a href="#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"><p>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>.</p>
<p>This function is a lower-level call. It needs to be paired with the
<a href="trait.AsyncBufRead.html#tymethod.poll_fill_buf" title="method futures_util::io::AsyncBufRead::poll_fill_buf"><code>poll_fill_buf</code></a> method to function properly. This function does
not perform any I/O, it simply informs this object that some amount of
its buffer, returned from <a href="trait.AsyncBufRead.html#tymethod.poll_fill_buf" title="method futures_util::io::AsyncBufRead::poll_fill_buf"><code>poll_fill_buf</code></a>, has been consumed and should
no longer be returned. As such, this function may do odd things if
<a href="trait.AsyncBufRead.html#tymethod.poll_fill_buf" title="method futures_util::io::AsyncBufRead::poll_fill_buf"><code>poll_fill_buf</code></a> isnt called before calling it.</p>
<p>The <code>amt</code> must be <code>&lt;=</code> the number of bytes in the buffer returned by
<a href="trait.AsyncBufRead.html#tymethod.poll_fill_buf" title="method futures_util::io::AsyncBufRead::poll_fill_buf"><code>poll_fill_buf</code></a>.</p>
</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-AsyncBufRead-for-%26%5Bu8%5D" class="impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#555">Source</a><a href="#impl-AsyncBufRead-for-%26%5Bu8%5D" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]</h3></section></summary><div class="impl-items"><section id="method.poll_fill_buf" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#556">Source</a><a href="#method.poll_fill_buf" class="anchor">§</a><h4 class="code-header">fn <a href="#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 &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]&gt;,
_: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>], <a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;</h4></section><section id="method.consume" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#556">Source</a><a href="#method.consume" class="anchor">§</a><h4 class="code-header">fn <a href="#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 &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]&gt;, amt: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsyncBufRead-for-Pin%3CP%3E" class="impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#529-532">Source</a><a href="#impl-AsyncBufRead-for-Pin%3CP%3E" class="anchor">§</a><h3 class="code-header">impl&lt;P&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <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;P&gt;<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</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>,
&lt;P as <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a>: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.poll_fill_buf-1" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#534">Source</a><a href="#method.poll_fill_buf-1" class="anchor">§</a><h4 class="code-header">fn <a href="#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 <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;P&gt;&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>], <a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;</h4></section><section id="method.consume-1" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#538">Source</a><a href="#method.consume-1" class="anchor">§</a><h4 class="code-header">fn <a href="#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 <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;P&gt;&gt;, amt: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsyncBufRead-for-%26mut+T" class="impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#525">Source</a><a href="#impl-AsyncBufRead-for-%26mut+T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut T</a><div class="where">where
T: <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.Unpin.html" title="trait core::marker::Unpin">Unpin</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"><section id="method.poll_fill_buf-2" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#526">Source</a><a href="#method.poll_fill_buf-2" class="anchor">§</a><h4 class="code-header">fn <a href="#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 <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut T</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>], <a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;</h4></section><section id="method.consume-2" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#526">Source</a><a href="#method.consume-2" class="anchor">§</a><h4 class="code-header">fn <a href="#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 <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut T</a>&gt;, amt: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsyncBufRead-for-Box%3CT%3E" class="impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#521">Source</a><a href="#impl-AsyncBufRead-for-Box%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T&gt;<div class="where">where
T: <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.Unpin.html" title="trait core::marker::Unpin">Unpin</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"><section id="method.poll_fill_buf-3" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#522">Source</a><a href="#method.poll_fill_buf-3" class="anchor">§</a><h4 class="code-header">fn <a href="#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 <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T&gt;&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>], <a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;&gt;</h4></section><section id="method.consume-3" class="method trait-impl"><a class="src rightside" href="../../src/futures_io/lib.rs.html#522">Source</a><a href="#method.consume-3" class="anchor">§</a><h4 class="code-header">fn <a href="#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 <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T&gt;&gt;, amt: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)</h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-AsyncBufRead-for-Empty" class="impl"><a class="src rightside" href="../../src/futures_util/io/empty.rs.html#46-53">Source</a><a href="#impl-AsyncBufRead-for-Empty" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.Empty.html" title="struct futures_util::io::Empty">Empty</a></h3></section><section id="impl-AsyncBufRead-for-Either%3CA,+B%3E" class="impl"><a class="src rightside" href="../../src/futures_util/future/either.rs.html#295-313">Source</a><a href="#impl-AsyncBufRead-for-Either%3CA,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="enum" href="../future/enum.Either.html" title="enum futures_util::future::Either">Either</a>&lt;A, B&gt;<div class="where">where
A: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a>,
B: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a>,</div></h3></section><section id="impl-AsyncBufRead-for-Take%3CR%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/take.rs.html#103-125">Source</a><a href="#impl-AsyncBufRead-for-Take%3CR%3E" class="anchor">§</a><h3 class="code-header">impl&lt;R: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a>&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.Take.html" title="struct futures_util::io::Take">Take</a>&lt;R&gt;</h3></section><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><section id="impl-AsyncBufRead-for-IntoAsyncRead%3CSt%3E" class="impl"><a class="src rightside" href="../../src/futures_util/stream/try_stream/into_async_read.rs.html#114-166">Source</a><a href="#impl-AsyncBufRead-for-IntoAsyncRead%3CSt%3E" class="anchor">§</a><h3 class="code-header">impl&lt;St&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="../stream/struct.IntoAsyncRead.html" title="struct futures_util::stream::IntoAsyncRead">IntoAsyncRead</a>&lt;St&gt;<div class="where">where
St: <a class="trait" href="../stream/trait.TryStream.html" title="trait futures_util::stream::TryStream">TryStream</a>&lt;Error = <a class="struct" href="https://doc.rust-lang.org/1.93.1/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;,
St::<a class="associatedtype" href="../stream/trait.TryStream.html#associatedtype.Ok" title="type futures_util::stream::TryStream::Ok">Ok</a>: <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;,</div></h3></section><section id="impl-AsyncBufRead-for-AllowStdIo%3CT%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/allow_std.rs.html#190-202">Source</a><a href="#impl-AsyncBufRead-for-AllowStdIo%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.AllowStdIo.html" title="struct futures_util::io::AllowStdIo">AllowStdIo</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section><section id="impl-AsyncBufRead-for-Cursor%3CT%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/cursor.rs.html#179-190">Source</a><a href="#impl-AsyncBufRead-for-Cursor%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.Cursor.html" title="struct futures_util::io::Cursor">Cursor</a>&lt;T&gt;<div class="where">where
T: <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; + <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><section id="impl-AsyncBufRead-for-Chain%3CT,+U%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/chain.rs.html#114-142">Source</a><a href="#impl-AsyncBufRead-for-Chain%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.Chain.html" title="struct futures_util::io::Chain">Chain</a>&lt;T, U&gt;<div class="where">where
T: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a>,
U: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a>,</div></h3></section><section id="impl-AsyncBufRead-for-BufWriter%3CW%3E" class="impl"><a class="src rightside" href="../../src/futures_util/io/buf_writer.rs.html#203-205">Source</a><a href="#impl-AsyncBufRead-for-BufWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W: <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a>&gt; <a class="trait" href="trait.AsyncBufRead.html" title="trait futures_util::io::AsyncBufRead">AsyncBufRead</a> for <a class="struct" href="struct.BufWriter.html" title="struct futures_util::io::BufWriter">BufWriter</a>&lt;W&gt;</h3></section></div><script src="../../trait.impl/futures_io/if_std/trait.AsyncBufRead.js" data-ignore-extern-crates="alloc,core,std" async></script></section></div></main></body></html>