Files
google-apis-rs/hyper/server/struct.Server.html
2024-03-05 21:06:01 +01:00

180 lines
102 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A listening HTTP server that accepts connections in both HTTP1 and HTTP2 by default."><title>Server in hyper::server - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="hyper" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../hyper/index.html">hyper</a><span class="version">0.14.27</span></h2></div><h2 class="location"><a href="#">Server</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.bind">bind</a></li><li><a href="#method.builder">builder</a></li><li><a href="#method.from_tcp">from_tcp</a></li><li><a href="#method.local_addr">local_addr</a></li><li><a href="#method.try_bind">try_bind</a></li><li><a href="#method.with_graceful_shutdown">with_graceful_shutdown</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Server%3CI,+S%3E">Debug</a></li><li><a href="#impl-Future-for-Server%3CI,+S,+E%3E">Future</a></li><li><a href="#impl-Unpin-for-Server%3CI,+S,+E%3E">Unpin</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Server%3CI,+S,+E%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Server%3CI,+S,+E%3E">Send</a></li><li><a href="#impl-Sync-for-Server%3CI,+S,+E%3E">Sync</a></li><li><a href="#impl-UnwindSafe-for-Server%3CI,+S,+E%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-FutureExt-for-T">FutureExt</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-IntoFuture-for-F">IntoFuture</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryFuture-for-F">TryFuture</a></li><li><a href="#impl-TryFutureExt-for-Fut">TryFutureExt</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In hyper::server</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../hyper/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">hyper</a>::<wbr><a href="index.html">server</a>::<wbr><a class="struct" href="#">Server</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/hyper/server/server.rs.html#29-42">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Server&lt;I, S, E = Exec&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A listening HTTP server that accepts connections in both HTTP1 and HTTP2 by default.</p>
<p><code>Server</code> is a <code>Future</code> mapping a bound listener with a set of service
handlers. It is built using the <a href="struct.Builder.html" title="struct hyper::server::Builder"><code>Builder</code></a>, and the future
completes when the server has been shutdown. It should be run by an
<code>Executor</code>.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Server%3CI,+()%3E" class="impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#55-63">source</a><a href="#impl-Server%3CI,+()%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.builder" class="method"><a class="src rightside" href="../../src/hyper/server/server.rs.html#57-62">source</a><h4 class="code-header">pub fn <a href="#method.builder" class="fn">builder</a>(incoming: I) -&gt; <a class="struct" href="struct.Builder.html" title="struct hyper::server::Builder">Builder</a>&lt;I&gt;</h4></section></summary><div class="docblock"><p>Starts a <a href="struct.Builder.html" title="struct hyper::server::Builder"><code>Builder</code></a> with the provided incoming stream.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Server%3CAddrIncoming,+()%3E" class="impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#70-93">source</a><a href="#impl-Server%3CAddrIncoming,+()%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;<a class="struct" href="conn/struct.AddrIncoming.html" title="struct hyper::server::conn::AddrIncoming">AddrIncoming</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bind" class="method"><a class="src rightside" href="../../src/hyper/server/server.rs.html#77-82">source</a><h4 class="code-header">pub fn <a href="#method.bind" class="fn">bind</a>(addr: &amp;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>) -&gt; <a class="struct" href="struct.Builder.html" title="struct hyper::server::Builder">Builder</a>&lt;<a class="struct" href="conn/struct.AddrIncoming.html" title="struct hyper::server::conn::AddrIncoming">AddrIncoming</a>&gt;</h4></section></summary><div class="docblock"><p>Binds to the provided address, and returns a <a href="struct.Builder.html" title="struct hyper::server::Builder"><code>Builder</code></a>.</p>
<h5 id="panics"><a href="#panics">Panics</a></h5>
<p>This method will panic if binding to the address fails. For a method
to bind to an address and return a <code>Result</code>, see <code>Server::try_bind</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_bind" class="method"><a class="src rightside" href="../../src/hyper/server/server.rs.html#85-87">source</a><h4 class="code-header">pub fn <a href="#method.try_bind" class="fn">try_bind</a>(addr: &amp;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>) -&gt; <a class="type" href="../type.Result.html" title="type hyper::Result">Result</a>&lt;<a class="struct" href="struct.Builder.html" title="struct hyper::server::Builder">Builder</a>&lt;<a class="struct" href="conn/struct.AddrIncoming.html" title="struct hyper::server::conn::AddrIncoming">AddrIncoming</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Tries to bind to the provided address, and returns a <a href="struct.Builder.html" title="struct hyper::server::Builder"><code>Builder</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_tcp" class="method"><a class="src rightside" href="../../src/hyper/server/server.rs.html#90-92">source</a><h4 class="code-header">pub fn <a href="#method.from_tcp" class="fn">from_tcp</a>(
listener: <a class="struct" href="https://doc.rust-lang.org/1.76.0/std/net/tcp/struct.TcpListener.html" title="struct std::net::tcp::TcpListener">StdTcpListener</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Builder.html" title="struct hyper::server::Builder">Builder</a>&lt;<a class="struct" href="conn/struct.AddrIncoming.html" title="struct hyper::server::conn::AddrIncoming">AddrIncoming</a>&gt;, <a class="struct" href="../struct.Error.html" title="struct hyper::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new instance from a <code>std::net::TcpListener</code> instance.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Server%3CAddrIncoming,+S,+E%3E" class="impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#100-105">source</a><a href="#impl-Server%3CAddrIncoming,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, E&gt; <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;<a class="struct" href="conn/struct.AddrIncoming.html" title="struct hyper::server::conn::AddrIncoming">AddrIncoming</a>, S, E&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.local_addr" class="method"><a class="src rightside" href="../../src/hyper/server/server.rs.html#102-104">source</a><h4 class="code-header">pub fn <a href="#method.local_addr" class="fn">local_addr</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a></h4></section></summary><div class="docblock"><p>Returns the local address that this server is bound to.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Server%3CI,+S,+E%3E" class="impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#108-207">source</a><a href="#impl-Server%3CI,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, IO, IE, S, E, B&gt; <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S, E&gt;<div class="where">where
I: <a class="trait" href="accept/trait.Accept.html" title="trait hyper::server::accept::Accept">Accept</a>&lt;Conn = IO, Error = IE&gt;,
IE: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/error/trait.Error.html" title="trait core::error::Error">StdError</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt;&gt;,
IO: <a class="trait" href="../../tokio/io/async_read/trait.AsyncRead.html" title="trait tokio::io::async_read::AsyncRead">AsyncRead</a> + <a class="trait" href="../../tokio/io/async_write/trait.AsyncWrite.html" title="trait tokio::io::async_write::AsyncWrite">AsyncWrite</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,
S: MakeServiceRef&lt;IO, <a class="struct" href="../body/struct.Body.html" title="struct hyper::body::Body">Body</a>, ResBody = B&gt;,
S::Error: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/error/trait.Error.html" title="trait core::error::Error">StdError</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt;&gt;,
B: <a class="trait" href="../body/trait.HttpBody.html" title="trait hyper::body::HttpBody">HttpBody</a> + 'static,
B::<a class="associatedtype" href="../body/trait.HttpBody.html#associatedtype.Error" title="type hyper::body::HttpBody::Error">Error</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/error/trait.Error.html" title="trait core::error::Error">StdError</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt;&gt;,
E: ConnStreamExec&lt;&lt;S::Service as HttpService&lt;<a class="struct" href="../body/struct.Body.html" title="struct hyper::body::Body">Body</a>&gt;&gt;::Future, B&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_graceful_shutdown" class="method"><a class="src rightside" href="../../src/hyper/server/server.rs.html#155-161">source</a><h4 class="code-header">pub fn <a href="#method.with_graceful_shutdown" class="fn">with_graceful_shutdown</a>&lt;F&gt;(self, signal: F) -&gt; Graceful&lt;I, S, F, E&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;,
E: NewSvcExec&lt;IO, S::Future, S::Service, E, GracefulWatcher&gt;,</div></h4></section></summary><div class="docblock"><p>Prepares a server to handle graceful shutdown when the provided future
completes.</p>
<h5 id="example"><a href="#example">Example</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Make a server from the previous examples...
</span><span class="kw">let </span>server = Server::bind(<span class="kw-2">&amp;</span>([<span class="number">127</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>], <span class="number">3000</span>).into())
.serve(make_service);
<span class="comment">// Prepare some signal for when the server should start shutting down...
</span><span class="kw">let </span>(tx, rx) = tokio::sync::oneshot::channel::&lt;()&gt;();
<span class="kw">let </span>graceful = server
.with_graceful_shutdown(<span class="kw">async </span>{
rx.<span class="kw">await</span>.ok();
});
<span class="comment">// Await the `server` receiving the signal...
</span><span class="kw">if let </span><span class="prelude-val">Err</span>(e) = graceful.<span class="kw">await </span>{
<span class="macro">eprintln!</span>(<span class="string">"server error: {}"</span>, e);
}
<span class="comment">// And later, trigger the signal by calling `tx.send(())`.
</span><span class="kw">let _ </span>= tx.send(());</code></pre></div>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Server%3CI,+S%3E" class="impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#229-235">source</a><a href="#impl-Debug-for-Server%3CI,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#230-234">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.76.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Future-for-Server%3CI,+S,+E%3E" class="impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#210-227">source</a><a href="#impl-Future-for-Server%3CI,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, IO, IE, S, B, E&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a> for <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S, E&gt;<div class="where">where
I: <a class="trait" href="accept/trait.Accept.html" title="trait hyper::server::accept::Accept">Accept</a>&lt;Conn = IO, Error = IE&gt;,
IE: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/error/trait.Error.html" title="trait core::error::Error">StdError</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt;&gt;,
IO: <a class="trait" href="../../tokio/io/async_read/trait.AsyncRead.html" title="trait tokio::io::async_read::AsyncRead">AsyncRead</a> + <a class="trait" href="../../tokio/io/async_write/trait.AsyncWrite.html" title="trait tokio::io::async_write::AsyncWrite">AsyncWrite</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,
S: MakeServiceRef&lt;IO, <a class="struct" href="../body/struct.Body.html" title="struct hyper::body::Body">Body</a>, ResBody = B&gt;,
S::Error: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/error/trait.Error.html" title="trait core::error::Error">StdError</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt;&gt;,
B: <a class="trait" href="../body/trait.HttpBody.html" title="trait hyper::body::HttpBody">HttpBody</a> + 'static,
B::<a class="associatedtype" href="../body/trait.HttpBody.html#associatedtype.Error" title="type hyper::body::HttpBody::Error">Error</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/error/trait.Error.html" title="trait core::error::Error">StdError</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt;&gt;,
E: ConnStreamExec&lt;&lt;S::Service as HttpService&lt;<a class="struct" href="../body/struct.Body.html" title="struct hyper::body::Body">Body</a>&gt;&gt;::Future, B&gt; + NewSvcExec&lt;IO, S::Future, S::Service, E, NoopWatcher&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>, <a class="struct" href="../struct.Error.html" title="struct hyper::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>The type of value produced on completion.</div></details><details class="toggle method-toggle" open><summary><section id="method.poll" class="method trait-impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#224-226">source</a><a href="#method.poll" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#tymethod.poll" class="fn">poll</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut Self</a>&gt;, cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;</h4></section></summary><div class='docblock'>Attempt to resolve the future to a final value, registering
the current task for wakeup if the value is not yet available. <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#tymethod.poll">Read more</a></div></details></div></details><section id="impl-Unpin-for-Server%3CI,+S,+E%3E" class="impl"><a class="src rightside" href="../../src/hyper/server/server.rs.html#29-42">source</a><a href="#impl-Unpin-for-Server%3CI,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'__pin, I, S, E&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S, E&gt;<div class="where">where
__Origin&lt;'__pin, I, S, E&gt;: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Server%3CI,+S,+E%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Server%3CI,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, S, E&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S, E&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-Server%3CI,+S,+E%3E" class="impl"><a href="#impl-Send-for-Server%3CI,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, S, E&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S, E&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-Server%3CI,+S,+E%3E" class="impl"><a href="#impl-Sync-for-Server%3CI,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, S, E&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S, E&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-UnwindSafe-for-Server%3CI,+S,+E%3E" class="impl"><a href="#impl-UnwindSafe-for-Server%3CI,+S,+E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, S, E&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Server.html" title="struct hyper::server::Server">Server</a>&lt;I, S, E&gt;<div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FutureExt-for-T" class="impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#119">source</a><a href="#impl-FutureExt-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../futures_util/future/future/trait.FutureExt.html" title="trait futures_util::future::future::FutureExt">FutureExt</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.map" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#146-149">source</a><a href="#method.map" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.map" class="fn">map</a>&lt;U, F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/future/struct.Map.html" title="struct futures_util::future::future::Map">Map</a>&lt;Self, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>) -&gt; U,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Map this futures output to a different type, returning a new future of
the resulting type. <a href="../../futures_util/future/future/trait.FutureExt.html#method.map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_into" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#159-162">source</a><a href="#method.map_into" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.map_into" class="fn">map_into</a>&lt;U&gt;(self) -&gt; <a class="struct" href="../../futures_util/future/future/struct.MapInto.html" title="struct futures_util::future::future::MapInto">MapInto</a>&lt;Self, U&gt;<div class="where">where
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Map this futures output to a different type, returning a new future of
the resulting type. <a href="../../futures_util/future/future/trait.FutureExt.html#method.map_into">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.then" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#191-195">source</a><a href="#method.then" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.then" class="fn">then</a>&lt;Fut, F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/future/struct.Then.html" title="struct futures_util::future::future::Then">Then</a>&lt;Self, Fut, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>) -&gt; Fut,
Fut: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Chain on a computation for when a future finished, passing the result of
the future to the provided closure <code>f</code>. <a href="../../futures_util/future/future/trait.FutureExt.html#method.then">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.left_future" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#222-225">source</a><a href="#method.left_future" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.left_future" class="fn">left_future</a>&lt;B&gt;(self) -&gt; <a class="enum" href="../../futures_util/future/either/enum.Either.html" title="enum futures_util::future::either::Either">Either</a>&lt;Self, B&gt;<div class="where">where
B: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Wrap this future in an <code>Either</code> future, making it the left-hand variant
of that <code>Either</code>. <a href="../../futures_util/future/future/trait.FutureExt.html#method.left_future">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.right_future" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#252-255">source</a><a href="#method.right_future" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.right_future" class="fn">right_future</a>&lt;A&gt;(self) -&gt; <a class="enum" href="../../futures_util/future/either/enum.Either.html" title="enum futures_util::future::either::Either">Either</a>&lt;A, Self&gt;<div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Wrap this future in an <code>Either</code> future, making it the right-hand variant
of that <code>Either</code>. <a href="../../futures_util/future/future/trait.FutureExt.html#method.right_future">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_stream" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#278-280">source</a><a href="#method.into_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.into_stream" class="fn">into_stream</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/struct.IntoStream.html" title="struct futures_util::future::future::IntoStream">IntoStream</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Convert this future into a single element stream. <a href="../../futures_util/future/future/trait.FutureExt.html#method.into_stream">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flatten" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#307-310">source</a><a href="#method.flatten" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.flatten" class="fn">flatten</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/struct.Flatten.html" title="struct futures_util::future::future::Flatten">Flatten</a>&lt;Self&gt;<div class="where">where
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Flatten the execution of this future when the output of this
future is itself another future. <a href="../../futures_util/future/future/trait.FutureExt.html#method.flatten">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flatten_stream" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#341-344">source</a><a href="#method.flatten_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.flatten_stream" class="fn">flatten_stream</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/struct.FlattenStream.html" title="struct futures_util::future::future::FlattenStream">FlattenStream</a>&lt;Self&gt;<div class="where">where
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>: <a class="trait" href="../../futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Flatten the execution of this future when the successful result of this
future is a stream. <a href="../../futures_util/future/future/trait.FutureExt.html#method.flatten_stream">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fuse" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#365-367">source</a><a href="#method.fuse" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.fuse" class="fn">fuse</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/fuse/struct.Fuse.html" title="struct futures_util::future::future::fuse::Fuse">Fuse</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Fuse a future such that <code>poll</code> will never again be called once it has
completed. This method can be used to turn any <code>Future</code> into a
<code>FusedFuture</code>. <a href="../../futures_util/future/future/trait.FutureExt.html#method.fuse">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.inspect" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#391-394">source</a><a href="#method.inspect" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.inspect" class="fn">inspect</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/future/struct.Inspect.html" title="struct futures_util::future::future::Inspect">Inspect</a>&lt;Self, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>),
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Do something with the output of a future before passing it on. <a href="../../futures_util/future/future/trait.FutureExt.html#method.inspect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.catch_unwind" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#431-433">source</a><a href="#method.catch_unwind" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.catch_unwind" class="fn">catch_unwind</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/catch_unwind/struct.CatchUnwind.html" title="struct futures_util::future::future::catch_unwind::CatchUnwind">CatchUnwind</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h4></section></summary><div class='docblock'>Catches unwinding panics while polling the future. <a href="../../futures_util/future/future/trait.FutureExt.html#method.catch_unwind">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.shared" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#486-489">source</a><a href="#method.shared" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.shared" class="fn">shared</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/shared/struct.Shared.html" title="struct futures_util::future::future::shared::Shared">Shared</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class='docblock'>Create a cloneable handle to this future where all handles will resolve
to the same result. <a href="../../futures_util/future/future/trait.FutureExt.html#method.shared">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.remote_handle" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#505-507">source</a><a href="#method.remote_handle" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.remote_handle" class="fn">remote_handle</a>(self) -&gt; (<a class="struct" href="../../futures_util/future/future/remote_handle/struct.Remote.html" title="struct futures_util::future::future::remote_handle::Remote">Remote</a>&lt;Self&gt;, <a class="struct" href="../../futures_util/future/future/remote_handle/struct.RemoteHandle.html" title="struct futures_util::future::future::remote_handle::RemoteHandle">RemoteHandle</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;)<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Turn this future into a future that yields <code>()</code> on completion and sends
its output to another future on a separate task. <a href="../../futures_util/future/future/trait.FutureExt.html#method.remote_handle">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.boxed" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#518-520">source</a><a href="#method.boxed" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.boxed" class="fn">boxed</a>&lt;'a&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'a,</div></h4></section></summary><div class='docblock'>Wrap the future in a Box, pinning it. <a href="../../futures_util/future/future/trait.FutureExt.html#method.boxed">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.boxed_local" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#532-534">source</a><a href="#method.boxed_local" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.boxed_local" class="fn">boxed_local</a>&lt;'a&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt; + 'a&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a,</div></h4></section></summary><div class='docblock'>Wrap the future in a Box, pinning it. <a href="../../futures_util/future/future/trait.FutureExt.html#method.boxed_local">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.unit_error" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#541-543">source</a><a href="#method.unit_error" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.unit_error" class="fn">unit_error</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/struct.UnitError.html" title="struct futures_util::future::future::UnitError">UnitError</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Turns a <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future"><code>Future&lt;Output = T&gt;</code></a> into a
<a href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture"><code>TryFuture&lt;Ok = T, Error = ()</code>&gt;</a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.never_error" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#550-552">source</a><a href="#method.never_error" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.never_error" class="fn">never_error</a>(self) -&gt; <a class="struct" href="../../futures_util/future/future/struct.NeverError.html" title="struct futures_util::future::future::NeverError">NeverError</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Turns a <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future"><code>Future&lt;Output = T&gt;</code></a> into a
<a href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture"><code>TryFuture&lt;Ok = T, Error = Never</code>&gt;</a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.poll_unpin" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#558-560">source</a><a href="#method.poll_unpin" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.poll_unpin" class="fn">poll_unpin</a>(&amp;mut self, cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>A convenience for calling <code>Future::poll</code> on <code>Unpin</code> future types.</div></details><details class="toggle method-toggle" open><summary><section id="method.now_or_never" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/future/mod.rs.html#596-598">source</a><a href="#method.now_or_never" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/future/trait.FutureExt.html#method.now_or_never" class="fn">now_or_never</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Evaluates and consumes the future, returning the resulting output if
the future is ready after the first call to <code>Future::poll</code>. <a href="../../futures_util/future/future/trait.FutureExt.html#method.now_or_never">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#325">source</a><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#86">source</a><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.instrument" class="fn">instrument</a>(self, span: <a class="struct" href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#128">source</a><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span" class="fn">in_current_span</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="../../tracing/span/struct.Span.html#method.current" title="associated function tracing::span::Span::current">current</a> <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoFuture-for-F" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/future/into_future.rs.html#133">source</a><a href="#impl-IntoFuture-for-F" class="anchor">§</a><h3 class="code-header">impl&lt;F&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html" title="trait core::future::into_future::IntoFuture">IntoFuture</a> for F<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#associatedtype.Output" class="associatedtype">Output</a> = &lt;F as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a></h4></section></summary><div class='docblock'>The output that the future will produce on completion.</div></details><details class="toggle" open><summary><section id="associatedtype.IntoFuture" class="associatedtype trait-impl"><a href="#associatedtype.IntoFuture" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#associatedtype.IntoFuture" class="associatedtype">IntoFuture</a> = F</h4></section></summary><div class='docblock'>Which kind of future are we turning this into?</div></details><details class="toggle method-toggle" open><summary><section id="method.into_future" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/future/into_future.rs.html#137">source</a><a href="#method.into_future" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#tymethod.into_future" class="fn">into_future</a>(self) -&gt; &lt;F as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html" title="trait core::future::into_future::IntoFuture">IntoFuture</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#associatedtype.IntoFuture" title="type core::future::into_future::IntoFuture::IntoFuture">IntoFuture</a></h4></section></summary><div class='docblock'>Creates a future from a value. <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#tymethod.into_future">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFuture-for-F" class="impl"><a class="src rightside" href="../../src/futures_core/future.rs.html#73-75">source</a><a href="#impl-TryFuture-for-F" class="anchor">§</a><h3 class="code-header">impl&lt;F, T, E&gt; <a class="trait" href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture">TryFuture</a> for F<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, E&gt;&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Ok" class="associatedtype trait-impl"><a href="#associatedtype.Ok" class="anchor">§</a><h4 class="code-header">type <a href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" class="associatedtype">Ok</a> = T</h4></section></summary><div class='docblock'>The type of successful values yielded by this future</div></details><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></summary><div class='docblock'>The type of failures yielded by this future</div></details><details class="toggle method-toggle" open><summary><section id="method.try_poll" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/future.rs.html#81">source</a><a href="#method.try_poll" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_core/future/trait.TryFuture.html#tymethod.try_poll" class="fn">try_poll</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut F</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;&lt;F as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;</h4></section></summary><div class='docblock'>Poll this <code>TryFuture</code> as if it were a <code>Future</code>. <a href="../../futures_core/future/trait.TryFuture.html#tymethod.try_poll">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFutureExt-for-Fut" class="impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#134">source</a><a href="#impl-TryFutureExt-for-Fut" class="anchor">§</a><h3 class="code-header">impl&lt;Fut&gt; <a class="trait" href="../../futures_util/future/try_future/trait.TryFutureExt.html" title="trait futures_util::future::try_future::TryFutureExt">TryFutureExt</a> for Fut<div class="where">where
Fut: <a class="trait" href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture">TryFuture</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.flatten_sink" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#171-174">source</a><a href="#method.flatten_sink" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.flatten_sink" class="fn">flatten_sink</a>&lt;Item&gt;(self) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.FlattenSink.html" title="struct futures_util::future::try_future::FlattenSink">FlattenSink</a>&lt;Self, Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>&gt;<div class="where">where
Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>: <a class="trait" href="../../futures_sink/trait.Sink.html" title="trait futures_sink::Sink">Sink</a>&lt;Item, Error = Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Flattens the execution of this future when the successful result of this
future is a <a href="../../futures_sink/trait.Sink.html" title="trait futures_sink::Sink"><code>Sink</code></a>. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.flatten_sink">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_ok" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#217-220">source</a><a href="#method.map_ok" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.map_ok" class="fn">map_ok</a>&lt;T, F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.MapOk.html" title="struct futures_util::future::try_future::MapOk">MapOk</a>&lt;Self, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>) -&gt; T,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Maps this futures success value to a different value. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.map_ok">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_ok_or_else" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#257-261">source</a><a href="#method.map_ok_or_else" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.map_ok_or_else" class="fn">map_ok_or_else</a>&lt;T, E, F&gt;(self, e: E, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.MapOkOrElse.html" title="struct futures_util::future::try_future::MapOkOrElse">MapOkOrElse</a>&lt;Self, F, E&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>) -&gt; T,
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>) -&gt; T,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Maps this futures success value to a different value, and permits for error handling resulting in the same type. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.map_ok_or_else">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_err" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#308-311">source</a><a href="#method.map_err" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.map_err" class="fn">map_err</a>&lt;E, F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.MapErr.html" title="struct futures_util::future::try_future::MapErr">MapErr</a>&lt;Self, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>) -&gt; E,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Maps this futures error value to a different value. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.map_err">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.err_into" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#341-344">source</a><a href="#method.err_into" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.err_into" class="fn">err_into</a>&lt;E&gt;(self) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.ErrInto.html" title="struct futures_util::future::try_future::ErrInto">ErrInto</a>&lt;Self, E&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;E&gt;,</div></h4></section></summary><div class='docblock'>Maps this futures <a href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="associated type futures_core::future::TryFuture::Error"><code>Error</code></a> to a new error type
using the <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into"><code>Into</code></a> trait. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.err_into">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ok_into" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#351-354">source</a><a href="#method.ok_into" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.ok_into" class="fn">ok_into</a>&lt;U&gt;(self) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.OkInto.html" title="struct futures_util::future::try_future::OkInto">OkInto</a>&lt;Self, U&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt;,</div></h4></section></summary><div class='docblock'>Maps this futures <a href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="associated type futures_core::future::TryFuture::Ok"><code>Ok</code></a> to a new type
using the <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into"><code>Into</code></a> trait.</div></details><details class="toggle method-toggle" open><summary><section id="method.and_then" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#395-399">source</a><a href="#method.and_then" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.and_then" class="fn">and_then</a>&lt;Fut, F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.AndThen.html" title="struct futures_util::future::try_future::AndThen">AndThen</a>&lt;Self, Fut, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>) -&gt; Fut,
Fut: <a class="trait" href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture">TryFuture</a>&lt;Error = Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Executes another future after this one resolves successfully. The
success value is passed to a closure to create this subsequent future. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.and_then">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.or_else" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#440-444">source</a><a href="#method.or_else" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.or_else" class="fn">or_else</a>&lt;Fut, F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.OrElse.html" title="struct futures_util::future::try_future::OrElse">OrElse</a>&lt;Self, Fut, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>) -&gt; Fut,
Fut: <a class="trait" href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture">TryFuture</a>&lt;Ok = Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Executes another future if this one resolves to an error. The
error value is passed to a closure to create this subsequent future. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.or_else">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_ok" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#467-470">source</a><a href="#method.inspect_ok" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.inspect_ok" class="fn">inspect_ok</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.InspectOk.html" title="struct futures_util::future::try_future::InspectOk">InspectOk</a>&lt;Self, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>),
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Do something with the success value of a future before passing it on. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.inspect_ok">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_err" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#493-496">source</a><a href="#method.inspect_err" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.inspect_err" class="fn">inspect_err</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.InspectErr.html" title="struct futures_util::future::try_future::InspectErr">InspectErr</a>&lt;Self, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>),
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Do something with the error value of a future before passing it on. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.inspect_err">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_flatten" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#505-508">source</a><a href="#method.try_flatten" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.try_flatten" class="fn">try_flatten</a>(self) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.TryFlatten.html" title="struct futures_util::future::try_future::TryFlatten">TryFlatten</a>&lt;Self, Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>&gt;<div class="where">where
Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>: <a class="trait" href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture">TryFuture</a>&lt;Error = Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Flatten the execution of this future when the successful result of this
future is another future. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.try_flatten">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_flatten_stream" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#538-541">source</a><a href="#method.try_flatten_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.try_flatten_stream" class="fn">try_flatten_stream</a>(self) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.TryFlattenStream.html" title="struct futures_util::future::try_future::TryFlattenStream">TryFlattenStream</a>&lt;Self&gt;<div class="where">where
Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>: <a class="trait" href="../../futures_core/stream/trait.TryStream.html" title="trait futures_core::stream::TryStream">TryStream</a>&lt;Error = Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Flatten the execution of this future when the successful result of this
future is a stream. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.try_flatten_stream">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.unwrap_or_else" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#570-573">source</a><a href="#method.unwrap_or_else" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.unwrap_or_else" class="fn">unwrap_or_else</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="../../futures_util/future/try_future/struct.UnwrapOrElse.html" title="struct futures_util::future::try_future::UnwrapOrElse">UnwrapOrElse</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>) -&gt; Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>,</div></h4></section></summary><div class='docblock'>Unwraps this futures output, producing a future with this futures
<a href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="associated type futures_core::future::TryFuture::Ok"><code>Ok</code></a> type as its
<a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="associated type core::future::future::Future::Output"><code>Output</code></a> type. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.unwrap_or_else">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_future-1" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#610-612">source</a><a href="#method.into_future-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.into_future" class="fn">into_future</a>(self) -&gt; <a class="struct" href="../../futures_util/future/try_future/into_future/struct.IntoFuture.html" title="struct futures_util::future::try_future::into_future::IntoFuture">IntoFuture</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Wraps a <a href="../../futures_core/future/trait.TryFuture.html" title="trait futures_core::future::TryFuture"><code>TryFuture</code></a> into a type that implements
<a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future"><code>Future</code></a>. <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.into_future">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_poll_unpin" class="method trait-impl"><a class="src rightside" href="../../src/futures_util/future/try_future/mod.rs.html#619-621">source</a><a href="#method.try_poll_unpin" class="anchor">§</a><h4 class="code-header">fn <a href="../../futures_util/future/try_future/trait.TryFutureExt.html#method.try_poll_unpin" class="fn">try_poll_unpin</a>(
&amp;mut self,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Ok" title="type futures_core::future::TryFuture::Ok">Ok</a>, Self::<a class="associatedtype" href="../../futures_core/future/trait.TryFuture.html#associatedtype.Error" title="type futures_core::future::TryFuture::Error">Error</a>&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class='docblock'>A convenience method for calling <a href="../../futures_core/future/trait.TryFuture.html#tymethod.try_poll" title="method futures_core::future::TryFuture::try_poll"><code>TryFuture::try_poll</code></a> on <a href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin"><code>Unpin</code></a>
future types.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#393">source</a><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#176-178">source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#228">source</a><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fn">with_current_subscriber</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="../../tracing/dispatcher/index.html#setting-the-default-subscriber" title="mod tracing::dispatcher">default</a> <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details></div></section></div></main></body></html>