139 lines
44 KiB
HTML
139 lines
44 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `Sink` is a value into which other values can be sent, asynchronously."><title>Sink in futures_sink - 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_sink" 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="#">Sink</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../futures_sink/index.html">futures_<wbr>sink</a><span class="version">0.3.32</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Sink</a></h2><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Error" title="Error">Error</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.poll_close" title="poll_close">poll_close</a></li><li><a href="#tymethod.poll_flush" title="poll_flush">poll_flush</a></li><li><a href="#tymethod.poll_ready" title="poll_ready">poll_ready</a></li><li><a href="#tymethod.start_send" title="start_send">start_send</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-Sink%3CItem%3E-for-%26mut+S" title="&mut S">&mut S</a></li><li><a href="#impl-Sink%3CItem%3E-for-Box%3CS%3E" title="Box<S>">Box<S></a></li><li><a href="#impl-Sink%3CItem%3E-for-Pin%3CP%3E" title="Pin<P>">Pin<P></a></li><li><a href="#impl-Sink%3CT%3E-for-Vec%3CT%3E" title="Vec<T>">Vec<T></a></li><li><a href="#impl-Sink%3CT%3E-for-VecDeque%3CT%3E" title="VecDeque<T>">VecDeque<T></a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate futures_<wbr>sink</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_sink</a></div><h1>Trait <span class="trait">Sink</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/futures_sink/lib.rs.html#52-117">Source</a> </span></div><pre class="rust item-decl"><code>pub trait Sink<Item> {
|
||
type <a href="#associatedtype.Error" class="associatedtype">Error</a>;
|
||
|
||
// Required methods
|
||
fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>>;
|
||
<span class="item-spacer"></span> fn <a href="#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>, item: Item) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>;
|
||
<span class="item-spacer"></span> fn <a href="#tymethod.poll_flush" class="fn">poll_flush</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>>;
|
||
<span class="item-spacer"></span> fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>>;
|
||
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <code>Sink</code> is a value into which other values can be sent, asynchronously.</p>
|
||
<p>Basic examples of sinks include the sending side of:</p>
|
||
<ul>
|
||
<li>Channels</li>
|
||
<li>Sockets</li>
|
||
<li>Pipes</li>
|
||
</ul>
|
||
<p>In addition to such “primitive” sinks, it’s typical to layer additional
|
||
functionality, such as buffering, on top of an existing sink.</p>
|
||
<p>Sending to a sink is “asynchronous” in the sense that the value may not be
|
||
sent in its entirety immediately. Instead, values are sent in a two-phase
|
||
way: first by initiating a send, and then by polling for completion. This
|
||
two-phase setup is analogous to buffered writing in synchronous code, where
|
||
writes often succeed immediately, but internally are buffered and are
|
||
<em>actually</em> written only upon flushing.</p>
|
||
<p>In addition, the <code>Sink</code> may be <em>full</em>, in which case it is not even possible
|
||
to start the sending process.</p>
|
||
<p>As with <code>Future</code> and <code>Stream</code>, the <code>Sink</code> trait is built from a few core
|
||
required methods, and a host of default methods for working in a
|
||
higher-level way. The <code>Sink::send_all</code> combinator is of particular
|
||
importance: you can use it to send an entire stream to a sink, which is
|
||
the simplest way to ultimately consume a stream.</p>
|
||
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Error" class="method"><a class="src rightside" href="../src/futures_sink/lib.rs.html#54">Source</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a></h4></section></summary><div class="docblock"><p>The type of value produced by the sink when an error occurs.</p>
|
||
</div></details></div><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_ready" class="method"><a class="src rightside" href="../src/futures_sink/lib.rs.html#68">Source</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></summary><div class="docblock"><p>Attempts to prepare the <code>Sink</code> to receive a value.</p>
|
||
<p>This method must be called and return <code>Poll::Ready(Ok(()))</code> prior to
|
||
each call to <code>start_send</code>.</p>
|
||
<p>This method returns <code>Poll::Ready</code> once the underlying sink is ready to
|
||
receive data. If this method returns <code>Poll::Pending</code>, the current task
|
||
is registered to be notified (via <code>cx.waker().wake_by_ref()</code>) when <code>poll_ready</code>
|
||
should be called again.</p>
|
||
<p>In most cases, if the sink encounters an error, the sink will
|
||
permanently be unable to receive items.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.start_send" class="method"><a class="src rightside" href="../src/futures_sink/lib.rs.html#89">Source</a><h4 class="code-header">fn <a href="#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>, item: Item) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>></h4></section></summary><div class="docblock"><p>Begin the process of sending a value to the sink.
|
||
Each call to this function must be preceded by a successful call to
|
||
<code>poll_ready</code> which returned <code>Poll::Ready(Ok(()))</code>.</p>
|
||
<p>As the name suggests, this method only <em>begins</em> the process of sending
|
||
the item. If the sink employs buffering, the item isn’t fully processed
|
||
until the buffer is fully flushed. Since sinks are designed to work with
|
||
asynchronous I/O, the process of actually writing out the data to an
|
||
underlying object takes place asynchronously. <strong>You <em>must</em> use
|
||
<code>poll_flush</code> or <code>poll_close</code> in order to guarantee completion of a
|
||
send</strong>.</p>
|
||
<p>Implementations of <code>poll_ready</code> and <code>start_send</code> will usually involve
|
||
flushing behind the scenes in order to make room for new messages.
|
||
It is only necessary to call <code>poll_flush</code> if you need to guarantee that
|
||
<em>all</em> of the items placed into the <code>Sink</code> have been sent.</p>
|
||
<p>In most cases, if the sink encounters an error, the sink will
|
||
permanently be unable to receive items.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_flush" class="method"><a class="src rightside" href="../src/futures_sink/lib.rs.html#103">Source</a><h4 class="code-header">fn <a href="#tymethod.poll_flush" class="fn">poll_flush</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></summary><div class="docblock"><p>Flush any remaining output from this sink.</p>
|
||
<p>Returns <code>Poll::Ready(Ok(()))</code> when no buffered items remain. If this
|
||
value is returned then it is guaranteed that all previous values sent
|
||
via <code>start_send</code> have been flushed.</p>
|
||
<p>Returns <code>Poll::Pending</code> if there is more work left to do, in which
|
||
case the current task is scheduled (via <code>cx.waker().wake_by_ref()</code>) to wake up when
|
||
<code>poll_flush</code> should be called again.</p>
|
||
<p>In most cases, if the sink encounters an error, the sink will
|
||
permanently be unable to receive items.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_close" class="method"><a class="src rightside" href="../src/futures_sink/lib.rs.html#116">Source</a><h4 class="code-header">fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></summary><div class="docblock"><p>Flush any remaining output and close this sink, if necessary.</p>
|
||
<p>Returns <code>Poll::Ready(Ok(()))</code> when no buffered items remain and the sink
|
||
has been successfully closed.</p>
|
||
<p>Returns <code>Poll::Pending</code> if there is more work left to do, in which
|
||
case the current task is scheduled (via <code>cx.waker().wake_by_ref()</code>) to wake up when
|
||
<code>poll_close</code> should be called again.</p>
|
||
<p>If this function encounters an error, the sink should be considered to
|
||
have failed permanently, and no more <code>Sink</code> methods should be called.</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-Sink%3CItem%3E-for-Pin%3CP%3E" class="impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#139-161">Source</a><a href="#impl-Sink%3CItem%3E-for-Pin%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P, Item> <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item> 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><P><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>,
|
||
P::<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.Sink.html" title="trait futures_sink::Sink">Sink</a><Item>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#144">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <<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>>::<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> as <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item>>::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a></h4></section><section id="method.poll_ready" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#146-148">Source</a><a href="#method.poll_ready" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.start_send" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#150-152">Source</a><a href="#method.start_send" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>, item: Item) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>></h4></section><section id="method.poll_flush" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#154-156">Source</a><a href="#method.poll_flush" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_flush" class="fn">poll_flush</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.poll_close" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#158-160">Source</a><a href="#method.poll_close" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Sink%3CItem%3E-for-%26mut+S" class="impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#119-137">Source</a><a href="#impl-Sink%3CItem%3E-for-%26mut+S" class="anchor">§</a><h3 class="code-header">impl<S: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, Item> <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&mut S</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#120">Source</a><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <S as <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item>>::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a></h4></section><section id="method.poll_ready-1" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#122-124">Source</a><a href="#method.poll_ready-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.start_send-1" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#126-128">Source</a><a href="#method.start_send-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>, item: Item) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>></h4></section><section id="method.poll_flush-1" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#130-132">Source</a><a href="#method.poll_flush-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_flush" class="fn">poll_flush</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.poll_close-1" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#134-136">Source</a><a href="#method.poll_close-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Sink%3CItem%3E-for-Box%3CS%3E" class="impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#212-239">Source</a><a href="#impl-Sink%3CItem%3E-for-Box%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, Item> <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item> 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><S></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-3" class="associatedtype trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#213">Source</a><a href="#associatedtype.Error-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <S as <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><Item>>::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a></h4></section><section id="method.poll_ready-2" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#215-220">Source</a><a href="#method.poll_ready-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.start_send-2" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#222-224">Source</a><a href="#method.start_send-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>, item: Item) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>></h4></section><section id="method.poll_flush-2" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#226-231">Source</a><a href="#method.poll_flush-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_flush" class="fn">poll_flush</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.poll_close-2" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#233-238">Source</a><a href="#method.poll_close-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
cx: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Sink%3CT%3E-for-VecDeque%3CT%3E" class="impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#190-210">Source</a><a href="#impl-Sink%3CT%3E-for-VecDeque%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><T> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/collections/vec_deque/struct.VecDeque.html" title="struct alloc::collections::vec_deque::VecDeque">VecDeque</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-4" class="associatedtype trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#191">Source</a><a href="#associatedtype.Error-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="method.poll_ready-3" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#193-195">Source</a><a href="#method.poll_ready-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
_: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.start_send-3" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#197-201">Source</a><a href="#method.start_send-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>, item: T) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>></h4></section><section id="method.poll_flush-3" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#203-205">Source</a><a href="#method.poll_flush-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_flush" class="fn">poll_flush</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
_: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.poll_close-3" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#207-209">Source</a><a href="#method.poll_close-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
_: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Sink%3CT%3E-for-Vec%3CT%3E" class="impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#168-188">Source</a><a href="#impl-Sink%3CT%3E-for-Vec%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.Sink.html" title="trait futures_sink::Sink">Sink</a><T> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-5" class="associatedtype trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#169">Source</a><a href="#associatedtype.Error-5" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="method.poll_ready-4" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#171-173">Source</a><a href="#method.poll_ready-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
_: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.start_send-4" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#175-179">Source</a><a href="#method.start_send-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.start_send" class="fn">start_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>, item: T) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>></h4></section><section id="method.poll_flush-4" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#181-183">Source</a><a href="#method.poll_flush-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_flush" class="fn">poll_flush</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
_: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section><section id="method.poll_close-4" class="method trait-impl"><a class="src rightside" href="../src/futures_sink/lib.rs.html#185-187">Source</a><a href="#method.poll_close-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(
|
||
self: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><&mut Self>,
|
||
_: &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><'_>,
|
||
) -> <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><<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.Sink.html#associatedtype.Error" title="type futures_sink::Sink::Error">Error</a>>></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/futures_sink/trait.Sink.js" data-ignore-extern-crates="core,alloc" async></script></section></div></main></body></html> |