blob: 27486b6057611e43df199a60dd8deca95b89fd9c [file] [log] [blame]
<!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="A wrapper around a byte buffer that is incrementally filled and initialized."><meta name="keywords" content="rust, rustlang, rust-lang, ReadBuf"><title>ReadBuf in tokio::io - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.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]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../tokio/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../tokio/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">ReadBuf</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.advance">advance</a></li><li><a href="#method.assume_init">assume_init</a></li><li><a href="#method.capacity">capacity</a></li><li><a href="#method.clear">clear</a></li><li><a href="#method.filled">filled</a></li><li><a href="#method.filled_mut">filled_mut</a></li><li><a href="#method.initialize_unfilled">initialize_unfilled</a></li><li><a href="#method.initialize_unfilled_to">initialize_unfilled_to</a></li><li><a href="#method.initialized">initialized</a></li><li><a href="#method.initialized_mut">initialized_mut</a></li><li><a href="#method.inner_mut">inner_mut</a></li><li><a href="#method.new">new</a></li><li><a href="#method.put_slice">put_slice</a></li><li><a href="#method.remaining">remaining</a></li><li><a href="#method.set_filled">set_filled</a></li><li><a href="#method.take">take</a></li><li><a href="#method.unfilled_mut">unfilled_mut</a></li><li><a href="#method.uninit">uninit</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-BufMut-for-ReadBuf%3C%27a%3E">BufMut</a></li><li><a href="#impl-Debug-for-ReadBuf%3C%27_%3E">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-ReadBuf%3C%27a%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ReadBuf%3C%27a%3E">Send</a></li><li><a href="#impl-Sync-for-ReadBuf%3C%27a%3E">Sync</a></li><li><a href="#impl-Unpin-for-ReadBuf%3C%27a%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ReadBuf%3C%27a%3E">!UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-ReadBuf%3C%27a%3E">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-ReadBuf%3C%27a%3E">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-ReadBuf%3C%27a%3E">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-ReadBuf%3C%27a%3E">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-ReadBuf%3C%27a%3E">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-ReadBuf%3C%27a%3E">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-ReadBuf%3C%27a%3E">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In tokio::io</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">tokio</a>::<wbr><a href="index.html">io</a>::<wbr><a class="struct" href="#">ReadBuf</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/tokio/io/read_buf.rs.html#23-27">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct ReadBuf&lt;'a&gt; { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A wrapper around a byte buffer that is incrementally filled and initialized.</p>
<p>This type is a sort of “double cursor”. It tracks three regions in the
buffer: a region at the beginning of the buffer that has been logically
filled with data, a region that has been initialized at some point but not
yet logically filled, and a region at the end that may be uninitialized.
The filled region is guaranteed to be a subset of the initialized region.</p>
<p>In summary, the contents of the buffer can be visualized as:</p>
<div class="example-wrap"><pre class="language-not_rust"><code>[ capacity ]
[ filled | unfilled ]
[ initialized | uninitialized ]</code></pre></div>
<p>It is undefined behavior to de-initialize any bytes from the uninitialized
region, since it is merely unknown whether this region is uninitialized or
not, and if part of it turns out to be initialized, it must stay initialized.</p>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#29-271">source</a><a href="#impl-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a&gt; <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#32-40">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fnname">new</a>(buf: &amp;'a mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>ReadBuf</code> from a fully initialized buffer.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.uninit" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#46-52">source</a><h4 class="code-header">pub fn <a href="#method.uninit" class="fnname">uninit</a>(buf: &amp;'a mut [<a class="union" href="https://doc.rust-lang.org/nightly/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;]) -&gt; <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Creates a new <code>ReadBuf</code> from a fully uninitialized buffer.</p>
<p>Use <code>assume_init</code> if part of the buffer is known to be already initialized.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.capacity" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#56-58">source</a><h4 class="code-header">pub fn <a href="#method.capacity" class="fnname">capacity</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the total capacity of the buffer.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.filled" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#62-67">source</a><h4 class="code-header">pub fn <a href="#method.filled" class="fnname">filled</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]<span class="notable-traits"><span class="notable-traits-tooltip"><span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span></code></span></span></span></span></h4></section></summary><div class="docblock"><p>Returns a shared reference to the filled portion of the buffer.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.filled_mut" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#71-76">source</a><h4 class="code-header">pub fn <a href="#method.filled_mut" class="fnname">filled_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]<span class="notable-traits"><span class="notable-traits-tooltip"><span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span></code></span></span></span></span></h4></section></summary><div class="docblock"><p>Returns a mutable reference to the filled portion of the buffer.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.take" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#80-84">source</a><h4 class="code-header">pub fn <a href="#method.take" class="fnname">take</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'_&gt;</h4></section></summary><div class="docblock"><p>Returns a new <code>ReadBuf</code> comprised of the unfilled section up to <code>n</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.initialized" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#90-95">source</a><h4 class="code-header">pub fn <a href="#method.initialized" class="fnname">initialized</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]<span class="notable-traits"><span class="notable-traits-tooltip"><span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span></code></span></span></span></span></h4></section></summary><div class="docblock"><p>Returns a shared reference to the initialized portion of the buffer.</p>
<p>This includes the filled portion.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.initialized_mut" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#101-106">source</a><h4 class="code-header">pub fn <a href="#method.initialized_mut" class="fnname">initialized_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]<span class="notable-traits"><span class="notable-traits-tooltip"><span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span></code></span></span></span></span></h4></section></summary><div class="docblock"><p>Returns a mutable reference to the initialized portion of the buffer.</p>
<p>This includes the filled portion.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.inner_mut" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#123-125">source</a><h4 class="code-header">pub unsafe fn <a href="#method.inner_mut" class="fnname">inner_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="union" href="https://doc.rust-lang.org/nightly/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;]</h4></section></summary><div class="docblock"><p>Returns a mutable reference to the entire buffer, without ensuring that it has been fully
initialized.</p>
<p>The elements between 0 and <code>self.filled().len()</code> are filled, and those between 0 and
<code>self.initialized().len()</code> are initialized (and so can be converted to a <code>&amp;mut [u8]</code>).</p>
<p>The caller of this method must ensure that these invariants are upheld. For example, if the
caller initializes some of the uninitialized section of the buffer, it must call
<a href="struct.ReadBuf.html#method.assume_init"><code>assume_init</code></a> with the number of bytes initialized.</p>
<h5 id="safety"><a href="#safety">Safety</a></h5>
<p>The caller must not de-initialize portions of the buffer that have already been initialized.
This includes any bytes in the region marked as uninitialized by <code>ReadBuf</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.unfilled_mut" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#135-137">source</a><h4 class="code-header">pub unsafe fn <a href="#method.unfilled_mut" class="fnname">unfilled_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="union" href="https://doc.rust-lang.org/nightly/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;]</h4></section></summary><div class="docblock"><p>Returns a mutable reference to the unfilled part of the buffer without ensuring that it has been fully
initialized.</p>
<h5 id="safety-1"><a href="#safety-1">Safety</a></h5>
<p>The caller must not de-initialize portions of the buffer that have already been initialized.
This includes any bytes in the region marked as uninitialized by <code>ReadBuf</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.initialize_unfilled" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#144-146">source</a><h4 class="code-header">pub fn <a href="#method.initialize_unfilled" class="fnname">initialize_unfilled</a>(&amp;mut self) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]<span class="notable-traits"><span class="notable-traits-tooltip"><span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span></code></span></span></span></span></h4></section></summary><div class="docblock"><p>Returns a mutable reference to the unfilled part of the buffer, ensuring it is fully initialized.</p>
<p>Since <code>ReadBuf</code> tracks the region of the buffer that has been initialized, this is effectively “free” after
the first use.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.initialize_unfilled_to" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#156-175">source</a><h4 class="code-header">pub fn <a href="#method.initialize_unfilled_to" class="fnname">initialize_unfilled_to</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]<span class="notable-traits"><span class="notable-traits-tooltip"><span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span></code></span></span></span></span></h4></section></summary><div class="docblock"><p>Returns a mutable reference to the first <code>n</code> bytes of the unfilled part of the buffer, ensuring it is
fully initialized.</p>
<h5 id="panics"><a href="#panics">Panics</a></h5>
<p>Panics if <code>self.remaining()</code> is less than <code>n</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.remaining" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#179-181">source</a><h4 class="code-header">pub fn <a href="#method.remaining" class="fnname">remaining</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of bytes at the end of the slice that have not yet been filled.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clear" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#187-189">source</a><h4 class="code-header">pub fn <a href="#method.clear" class="fnname">clear</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Clears the buffer, resetting the filled region to empty.</p>
<p>The number of initialized bytes is not changed, and the contents of the buffer are not modified.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.advance" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#200-203">source</a><h4 class="code-header">pub fn <a href="#method.advance" class="fnname">advance</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Advances the size of the filled region of the buffer.</p>
<p>The number of initialized bytes is not changed.</p>
<h5 id="panics-1"><a href="#panics-1">Panics</a></h5>
<p>Panics if the filled region of the buffer would become larger than the initialized region.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.set_filled" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#217-223">source</a><h4 class="code-header">pub fn <a href="#method.set_filled" class="fnname">set_filled</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Sets the size of the filled region of the buffer.</p>
<p>The number of initialized bytes is not changed.</p>
<p>Note that this can be used to <em>shrink</em> the filled region of the buffer in addition to growing it (for
example, by a <code>AsyncRead</code> implementation that compresses data in-place).</p>
<h5 id="panics-2"><a href="#panics-2">Panics</a></h5>
<p>Panics if the filled region of the buffer would become larger than the initialized region.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.assume_init" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#234-239">source</a><h4 class="code-header">pub unsafe fn <a href="#method.assume_init" class="fnname">assume_init</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Asserts that the first <code>n</code> unfilled bytes of the buffer are initialized.</p>
<p><code>ReadBuf</code> assumes that bytes are never de-initialized, so this method does nothing when called with fewer
bytes than are already known to be initialized.</p>
<h5 id="safety-2"><a href="#safety-2">Safety</a></h5>
<p>The caller must ensure that <code>n</code> unfilled bytes of the buffer have already been initialized.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_slice" class="method has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#248-270">source</a><h4 class="code-header">pub fn <a href="#method.put_slice" class="fnname">put_slice</a>(&amp;mut self, buf: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>])</h4></section></summary><div class="docblock"><p>Appends data to the buffer, advancing the written position and possibly also the initialized position.</p>
<h5 id="panics-3"><a href="#panics-3">Panics</a></h5>
<p>Panics if <code>self.remaining()</code> is less than <code>buf.len()</code>.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BufMut-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#275-298">source</a><a href="#impl-BufMut-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="../../bytes/buf/buf_mut/trait.BufMut.html" title="trait bytes::buf::buf_mut::BufMut">BufMut</a> for <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.remaining_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#276-278">source</a><a href="#method.remaining_mut" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#tymethod.remaining_mut" class="fnname">remaining_mut</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Returns the number of bytes that can be written from the current
position until the end of the buffer is reached. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#tymethod.remaining_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.advance_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#281-284">source</a><a href="#method.advance_mut" class="anchor"></a><h4 class="code-header">unsafe fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#tymethod.advance_mut" class="fnname">advance_mut</a>(&amp;mut self, cnt: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Advance the internal cursor of the BufMut <a href="../../bytes/buf/buf_mut/trait.BufMut.html#tymethod.advance_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.chunk_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#286-297">source</a><a href="#method.chunk_mut" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#tymethod.chunk_mut" class="fnname">chunk_mut</a>(&amp;mut self) -&gt; &amp;mut <a class="struct" href="../../bytes/buf/uninit_slice/struct.UninitSlice.html" title="struct bytes::buf::uninit_slice::UninitSlice">UninitSlice</a></h4></section></summary><div class='docblock'>Returns a mutable slice starting at the current BufMut position and of
length between 0 and <code>BufMut::remaining_mut()</code>. Note that this <em>can</em> be shorter than the
whole remainder of the buffer (this allows non-continuous implementation). <a href="../../bytes/buf/buf_mut/trait.BufMut.html#tymethod.chunk_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_remaining_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#124">source</a><a href="#method.has_remaining_mut" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.has_remaining_mut" class="fnname">has_remaining_mut</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns true if there is space in <code>self</code> for more bytes. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.has_remaining_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#197-199">source</a><a href="#method.put" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put" class="fnname">put</a>&lt;T&gt;(&amp;mut self, src: T)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../bytes/buf/buf_impl/trait.Buf.html" title="trait bytes::buf::buf_impl::Buf">Buf</a>,</span></h4></section></summary><div class='docblock'>Transfer bytes into <code>self</code> from <code>src</code> and advance the cursor by the
number of bytes written. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_slice-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#240">source</a><a href="#method.put_slice-1" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_slice" class="fnname">put_slice</a>(&amp;mut self, src: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>])</h4></section></summary><div class='docblock'>Transfer bytes into <code>self</code> from <code>src</code> and advance the cursor by the
number of bytes written. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_slice">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_bytes" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#293">source</a><a href="#method.put_bytes" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_bytes" class="fnname">put_bytes</a>(&amp;mut self, val: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, cnt: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Put <code>cnt</code> bytes <code>val</code> into <code>self</code>. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_bytes">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#317">source</a><a href="#method.put_u8" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u8" class="fnname">put_u8</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 8 bit integer to <code>self</code>. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u8">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#340">source</a><a href="#method.put_i8" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i8" class="fnname">put_i8</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i8.html">i8</a>)</h4></section></summary><div class='docblock'>Writes a signed 8 bit integer to <code>self</code>. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i8">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u16" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#363">source</a><a href="#method.put_u16" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u16" class="fnname">put_u16</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 16 bit integer to <code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u16">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u16_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#385">source</a><a href="#method.put_u16_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u16_le" class="fnname">put_u16_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 16 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u16_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u16_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#411">source</a><a href="#method.put_u16_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u16_ne" class="fnname">put_u16_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 16 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u16_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i16" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#433">source</a><a href="#method.put_i16" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i16" class="fnname">put_i16</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>)</h4></section></summary><div class='docblock'>Writes a signed 16 bit integer to <code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i16">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i16_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#455">source</a><a href="#method.put_i16_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i16_le" class="fnname">put_i16_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>)</h4></section></summary><div class='docblock'>Writes a signed 16 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i16_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i16_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#481">source</a><a href="#method.put_i16_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i16_ne" class="fnname">put_i16_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i16.html">i16</a>)</h4></section></summary><div class='docblock'>Writes a signed 16 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i16_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u32" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#503">source</a><a href="#method.put_u32" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u32" class="fnname">put_u32</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 32 bit integer to <code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u32">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u32_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#525">source</a><a href="#method.put_u32_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u32_le" class="fnname">put_u32_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 32 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u32_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u32_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#551">source</a><a href="#method.put_u32_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u32_ne" class="fnname">put_u32_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 32 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u32_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i32" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#573">source</a><a href="#method.put_i32" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i32" class="fnname">put_i32</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>)</h4></section></summary><div class='docblock'>Writes a signed 32 bit integer to <code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i32">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i32_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#595">source</a><a href="#method.put_i32_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i32_le" class="fnname">put_i32_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>)</h4></section></summary><div class='docblock'>Writes a signed 32 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i32_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i32_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#621">source</a><a href="#method.put_i32_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i32_ne" class="fnname">put_i32_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>)</h4></section></summary><div class='docblock'>Writes a signed 32 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i32_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u64" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#643">source</a><a href="#method.put_u64" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u64" class="fnname">put_u64</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 64 bit integer to <code>self</code> in the big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u64">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u64_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#665">source</a><a href="#method.put_u64_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u64_le" class="fnname">put_u64_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 64 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u64_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u64_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#691">source</a><a href="#method.put_u64_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u64_ne" class="fnname">put_u64_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 64 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u64_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i64" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#713">source</a><a href="#method.put_i64" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i64" class="fnname">put_i64</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>)</h4></section></summary><div class='docblock'>Writes a signed 64 bit integer to <code>self</code> in the big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i64">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i64_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#735">source</a><a href="#method.put_i64_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i64_le" class="fnname">put_i64_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>)</h4></section></summary><div class='docblock'>Writes a signed 64 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i64_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i64_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#761">source</a><a href="#method.put_i64_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i64_ne" class="fnname">put_i64_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>)</h4></section></summary><div class='docblock'>Writes a signed 64 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i64_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u128" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#783">source</a><a href="#method.put_u128" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u128" class="fnname">put_u128</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 128 bit integer to <code>self</code> in the big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u128">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u128_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#805">source</a><a href="#method.put_u128_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u128_le" class="fnname">put_u128_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 128 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u128_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_u128_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#831">source</a><a href="#method.put_u128_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u128_ne" class="fnname">put_u128_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u128.html">u128</a>)</h4></section></summary><div class='docblock'>Writes an unsigned 128 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_u128_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i128" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#853">source</a><a href="#method.put_i128" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i128" class="fnname">put_i128</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>)</h4></section></summary><div class='docblock'>Writes a signed 128 bit integer to <code>self</code> in the big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i128">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i128_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#875">source</a><a href="#method.put_i128_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i128_le" class="fnname">put_i128_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>)</h4></section></summary><div class='docblock'>Writes a signed 128 bit integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i128_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_i128_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#901">source</a><a href="#method.put_i128_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i128_ne" class="fnname">put_i128_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>)</h4></section></summary><div class='docblock'>Writes a signed 128 bit integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_i128_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_uint" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#923">source</a><a href="#method.put_uint" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_uint" class="fnname">put_uint</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, nbytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Writes an unsigned n-byte integer to <code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_uint">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_uint_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#945">source</a><a href="#method.put_uint_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_uint_le" class="fnname">put_uint_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, nbytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Writes an unsigned n-byte integer to <code>self</code> in the little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_uint_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_uint_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#971">source</a><a href="#method.put_uint_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_uint_ne" class="fnname">put_uint_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, nbytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Writes an unsigned n-byte integer to <code>self</code> in the native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_uint_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_int" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#997">source</a><a href="#method.put_int" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_int" class="fnname">put_int</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>, nbytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Writes low <code>nbytes</code> of a signed integer to <code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_int">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_int_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1019">source</a><a href="#method.put_int_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_int_le" class="fnname">put_int_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>, nbytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Writes low <code>nbytes</code> of a signed integer to <code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_int_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_int_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1045">source</a><a href="#method.put_int_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_int_ne" class="fnname">put_int_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>, nbytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Writes low <code>nbytes</code> of a signed integer to <code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_int_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_f32" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1072">source</a><a href="#method.put_f32" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f32" class="fnname">put_f32</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>)</h4></section></summary><div class='docblock'>Writes an IEEE754 single-precision (4 bytes) floating point number to
<code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f32">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_f32_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1095">source</a><a href="#method.put_f32_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f32_le" class="fnname">put_f32_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>)</h4></section></summary><div class='docblock'>Writes an IEEE754 single-precision (4 bytes) floating point number to
<code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f32_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_f32_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1122">source</a><a href="#method.put_f32_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f32_ne" class="fnname">put_f32_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>)</h4></section></summary><div class='docblock'>Writes an IEEE754 single-precision (4 bytes) floating point number to
<code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f32_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_f64" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1145">source</a><a href="#method.put_f64" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f64" class="fnname">put_f64</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>)</h4></section></summary><div class='docblock'>Writes an IEEE754 double-precision (8 bytes) floating point number to
<code>self</code> in big-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f64">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_f64_le" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1168">source</a><a href="#method.put_f64_le" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f64_le" class="fnname">put_f64_le</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>)</h4></section></summary><div class='docblock'>Writes an IEEE754 double-precision (8 bytes) floating point number to
<code>self</code> in little-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f64_le">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.put_f64_ne" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1195">source</a><a href="#method.put_f64_ne" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f64_ne" class="fnname">put_f64_ne</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>)</h4></section></summary><div class='docblock'>Writes an IEEE754 double-precision (8 bytes) floating point number to
<code>self</code> in native-endian byte order. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.put_f64_ne">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.limit" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1212-1214">source</a><a href="#method.limit" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.limit" class="fnname">limit</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../../bytes/buf/limit/struct.Limit.html" title="struct bytes::buf::limit::Limit">Limit</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Creates an adaptor which can write at most <code>limit</code> bytes to <code>self</code>. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.limit">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.writer" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1243-1245">source</a><a href="#method.writer" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.writer" class="fnname">writer</a>(self) -&gt; <a class="struct" href="../../bytes/buf/writer/struct.Writer.html" title="struct bytes::buf::writer::Writer">Writer</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Creates an adaptor which implements the <code>Write</code> trait for <code>self</code>. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.writer">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.chain_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bytes/buf/buf_mut.rs.html#1270-1272">source</a><a href="#method.chain_mut" class="anchor"></a><h4 class="code-header">fn <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.chain_mut" class="fnname">chain_mut</a>&lt;U&gt;(self, next: U) -&gt; <a class="struct" href="../../bytes/buf/chain/struct.Chain.html" title="struct bytes::buf::chain::Chain">Chain</a>&lt;Self, U&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="../../bytes/buf/buf_mut/trait.BufMut.html" title="trait bytes::buf::buf_mut::BufMut">BufMut</a>,</span></h4></section></summary><div class='docblock'>Creates an adapter which will chain this buffer with another. <a href="../../bytes/buf/buf_mut/trait.BufMut.html#method.chain_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-ReadBuf%3C%27_%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#300-308">source</a><a href="#impl-Debug-for-ReadBuf%3C%27_%3E" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'_&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/tokio/io/read_buf.rs.html#301-307">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/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/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h3></section><section id="impl-Send-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a href="#impl-Send-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h3></section><section id="impl-Sync-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a href="#impl-Sync-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h3></section><section id="impl-Unpin-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a href="#impl-Unpin-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h3></section><section id="impl-UnwindSafe-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a href="#impl-UnwindSafe-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.ReadBuf.html" title="struct tokio::io::ReadBuf">ReadBuf</a>&lt;'a&gt;</h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/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/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">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/nightly/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/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="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/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/nightly/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/nightly/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="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-ReadBuf%3C%27a%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-ReadBuf%3C%27a%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/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="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/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/nightly/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/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="tokio" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>