Adding large folders

This commit is contained in:
2026-02-26 12:00:21 -05:00
parent 5400d82acd
commit 49701c85ad
47332 changed files with 1942573 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
<!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="Future types"><title>tower::make::future - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="tower" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module future</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../tower/index.html">tower</a><span class="version">0.5.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module future</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In tower::<wbr>make</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">tower</a>::<wbr><a href="../index.html">make</a></div><h1>Module <span>future</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/tower/make/mod.rs.html#10">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Future types</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.SharedFuture.html" title="struct tower::make::future::SharedFuture">Shared<wbr>Future</a></dt><dd>Response future from <a href="../struct.Shared.html" title="struct tower::make::Shared"><code>Shared</code></a> services.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["SharedFuture"]};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
<!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="Trait aliases for Services that produce specific types of Responses."><title>tower::make - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tower" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module make</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../tower/index.html">tower</a><span class="version">0.5.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module make</a></h2><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate tower</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">tower</a></div><h1>Module <span>make</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/tower/make/mod.rs.html#1-14">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait aliases for Services that produce specific types of Responses.</p>
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="future/index.html" title="mod tower::make::future">future</a></dt><dd>Future types</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.AsService.html" title="struct tower::make::AsService">AsService</a></dt><dd>Service returned by <a href="../trait.MakeService.html#method.as_service" title="method tower::MakeService::as_service"><code>MakeService::as_service</code></a>.</dd><dt><a class="struct" href="struct.IntoService.html" title="struct tower::make::IntoService">Into<wbr>Service</a></dt><dd>Service returned by <a href="../trait.MakeService.html#method.into_service" title="method tower::MakeService::into_service"><code>MakeService::into_service</code></a>.</dd><dt><a class="struct" href="struct.Shared.html" title="struct tower::make::Shared">Shared</a></dt><dd>A <a href="../trait.MakeService.html" title="trait tower::MakeService"><code>MakeService</code></a> that produces services by cloning an inner service.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.MakeConnection.html" title="trait tower::make::MakeConnection">Make<wbr>Connection</a></dt><dd>The <a href="trait.MakeConnection.html" title="trait tower::make::MakeConnection"><code>MakeConnection</code></a> trait is used to create transports.</dd><dt><a class="trait" href="trait.MakeService.html" title="trait tower::make::MakeService">Make<wbr>Service</a></dt><dd>Creates new <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> values.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../tower/make/trait.MakeConnection.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../tower/make/trait.MakeConnection.html">../../../tower/make/trait.MakeConnection.html</a>...</p>
<script>location.replace("../../../tower/make/trait.MakeConnection.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../../tower/make/struct.Shared.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../../tower/make/struct.Shared.html">../../../../tower/make/struct.Shared.html</a>...</p>
<script>location.replace("../../../../tower/make/struct.Shared.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../../tower/make/future/struct.SharedFuture.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../../tower/make/future/struct.SharedFuture.html">../../../../tower/make/future/struct.SharedFuture.html</a>...</p>
<script>location.replace("../../../../tower/make/future/struct.SharedFuture.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../tower/make/struct.AsService.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../tower/make/struct.AsService.html">../../../tower/make/struct.AsService.html</a>...</p>
<script>location.replace("../../../tower/make/struct.AsService.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../tower/make/struct.IntoService.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../tower/make/struct.IntoService.html">../../../tower/make/struct.IntoService.html</a>...</p>
<script>location.replace("../../../tower/make/struct.IntoService.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../tower/trait.MakeService.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../tower/trait.MakeService.html">../../../tower/trait.MakeService.html</a>...</p>
<script>location.replace("../../../tower/trait.MakeService.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"mod":["future"],"struct":["AsService","IntoService","Shared"],"trait":["MakeConnection","MakeService"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,23 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The `MakeConnection` trait is used to create transports."><title>MakeConnection in tower::make - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tower" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">MakeConnection</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../tower/index.html">tower</a><span class="version">0.5.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Make<wbr>Connection</a></h2><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Connection" title="Connection">Connection</a></li><li><a href="#associatedtype.Error" title="Error">Error</a></li><li><a href="#associatedtype.Future" title="Future">Future</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.make_connection" title="make_connection">make_connection</a></li><li><a href="#tymethod.poll_ready" title="poll_ready">poll_ready</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In tower::<wbr>make</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">tower</a>::<wbr><a href="index.html">make</a></div><h1>Trait <span class="trait">Make<wbr>Connection</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/tower/make/make_connection.rs.html#12-27">Source</a> </span></div><pre class="rust item-decl"><code>pub trait MakeConnection&lt;Target&gt;: Sealed&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(Target,)</a>&gt; {
type <a href="#associatedtype.Connection" class="associatedtype">Connection</a>: <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>;
type <a href="#associatedtype.Error" class="associatedtype">Error</a>;
type <a href="#associatedtype.Future" class="associatedtype">Future</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Connection" title="type tower::make::MakeConnection::Connection">Connection</a>, Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Error" title="type tower::make::MakeConnection::Error">Error</a>&gt;&gt;;
// Required methods
fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
&amp;mut self,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Error" title="type tower::make::MakeConnection::Error">Error</a>&gt;&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.make_connection" class="fn">make_connection</a>(&amp;mut self, target: Target) -&gt; Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Future" title="type tower::make::MakeConnection::Future">Future</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <a href="trait.MakeConnection.html" title="trait tower::make::MakeConnection"><code>MakeConnection</code></a> trait is used to create transports.</p>
<p>The goal of this service is to allow composable methods for creating
<code>AsyncRead + AsyncWrite</code> transports. This could mean creating a TLS
based connection or using some other method to authenticate the connection.</p>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Connection" class="method"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#14">Source</a><h4 class="code-header">type <a href="#associatedtype.Connection" class="associatedtype">Connection</a>: <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></h4></section></summary><div class="docblock"><p>The transport provided by this service</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="method"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#17">Source</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a></h4></section></summary><div class="docblock"><p>Errors produced by the connecting service</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.Future" class="method"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#20">Source</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Connection" title="type tower::make::MakeConnection::Connection">Connection</a>, Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Error" title="type tower::make::MakeConnection::Error">Error</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>The future that eventually produces the transport</p>
</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.poll_ready" class="method"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#23">Source</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(&amp;mut self, cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Error" title="type tower::make::MakeConnection::Error">Error</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns <code>Poll::Ready(Ok(()))</code> when it is able to make more connections.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.make_connection" class="method"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#26">Source</a><h4 class="code-header">fn <a href="#tymethod.make_connection" class="fn">make_connection</a>(&amp;mut self, target: Target) -&gt; Self::<a class="associatedtype" href="trait.MakeConnection.html#associatedtype.Future" title="type tower::make::MakeConnection::Future">Future</a></h4></section></summary><div class="docblock"><p>Connect and return a transport asynchronously</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-MakeConnection%3CTarget%3E-for-C" class="impl"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#31-47">Source</a><a href="#impl-MakeConnection%3CTarget%3E-for-C" class="anchor">§</a><h3 class="code-header">impl&lt;C, Target&gt; <a class="trait" href="trait.MakeConnection.html" title="trait tower::make::MakeConnection">MakeConnection</a>&lt;Target&gt; for C<div class="where">where
C: <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Target&gt;,
C::<a class="associatedtype" href="../trait.Service.html#associatedtype.Response" title="type tower::Service::Response">Response</a>: <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>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Connection-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#36">Source</a><a href="#associatedtype.Connection-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Connection" class="associatedtype">Connection</a> = &lt;C as <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Target&gt;&gt;::<a class="associatedtype" href="../trait.Service.html#associatedtype.Response" title="type tower::Service::Response">Response</a></h4></section><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#37">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = &lt;C as <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Target&gt;&gt;::<a class="associatedtype" href="../trait.Service.html#associatedtype.Error" title="type tower::Service::Error">Error</a></h4></section><section id="associatedtype.Future-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_connection.rs.html#38">Source</a><a href="#associatedtype.Future-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = &lt;C as <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Target&gt;&gt;::<a class="associatedtype" href="../trait.Service.html#associatedtype.Future" title="type tower::Service::Future">Future</a></h4></section></div></details></div><script src="../../trait.impl/tower/make/make_connection/trait.MakeConnection.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1,89 @@
<!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="Creates new `Service` values."><title>MakeService in tower::make - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tower" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">MakeService</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../tower/index.html">tower</a><span class="version">0.5.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Make<wbr>Service</a></h2><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Error" title="Error">Error</a></li><li><a href="#associatedtype.Future" title="Future">Future</a></li><li><a href="#associatedtype.MakeError" title="MakeError">MakeError</a></li><li><a href="#associatedtype.Response" title="Response">Response</a></li><li><a href="#associatedtype.Service" title="Service">Service</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.make_service" title="make_service">make_service</a></li><li><a href="#tymethod.poll_ready" title="poll_ready">poll_ready</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.as_service" title="as_service">as_service</a></li><li><a href="#method.into_service" title="into_service">into_service</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In tower::<wbr>make</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">tower</a>::<wbr><a href="index.html">make</a></div><h1>Trait <span class="trait">Make<wbr>Service</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/tower/make/make_service.rs.html#21-130">Source</a> </span></div><pre class="rust item-decl"><code>pub trait MakeService&lt;Target, Request&gt;: Sealed&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(Target, Request)</a>&gt; {
type <a href="#associatedtype.Response" class="associatedtype">Response</a>;
type <a href="#associatedtype.Error" class="associatedtype">Error</a>;
type <a href="#associatedtype.Service" class="associatedtype">Service</a>: <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Request, Response = Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Response" title="type tower::MakeService::Response">Response</a>, Error = Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Error" title="type tower::MakeService::Error">Error</a>&gt;;
type <a href="#associatedtype.MakeError" class="associatedtype">MakeError</a>;
type <a href="#associatedtype.Future" class="associatedtype">Future</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Service" title="type tower::MakeService::Service">Service</a>, Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.MakeError" title="type tower::MakeService::MakeError">MakeError</a>&gt;&gt;;
// Required methods
fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
&amp;mut self,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.MakeError" title="type tower::MakeService::MakeError">MakeError</a>&gt;&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.make_service" class="fn">make_service</a>(&amp;mut self, target: Target) -&gt; Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Future" title="type tower::MakeService::Future">Future</a>;
// Provided methods
fn <a href="#method.into_service" class="fn">into_service</a>(self) -&gt; <a class="struct" href="struct.IntoService.html" title="struct tower::make::IntoService">IntoService</a>&lt;Self, Request&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.as_service" class="fn">as_service</a>(&amp;mut self) -&gt; <a class="struct" href="struct.AsService.html" title="struct tower::make::AsService">AsService</a>&lt;'_, Self, Request&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span> { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Creates new <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> values.</p>
<p>Acts as a service factory. This is useful for cases where new <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a>
values must be produced. One case is a TCP server listener. The listener
accepts new TCP streams, obtains a new <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> value using the
<a href="../trait.MakeService.html" title="trait tower::MakeService"><code>MakeService</code></a> trait, and uses that new <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> value to process inbound
requests on that new TCP stream.</p>
<p>This is essentially a trait alias for a <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> of <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a>s.</p>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Response" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#23">Source</a><h4 class="code-header">type <a href="#associatedtype.Response" class="associatedtype">Response</a></h4></section></summary><div class="docblock"><p>Responses given by the service</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#26">Source</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a></h4></section></summary><div class="docblock"><p>Errors produced by the service</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.Service" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#29">Source</a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a>: <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Request, Response = Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Response" title="type tower::MakeService::Response">Response</a>, Error = Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Error" title="type tower::MakeService::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>The <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> value created by this factory</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.MakeError" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#32">Source</a><h4 class="code-header">type <a href="#associatedtype.MakeError" class="associatedtype">MakeError</a></h4></section></summary><div class="docblock"><p>Errors produced while building a service.</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.Future" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#35">Source</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Service" title="type tower::MakeService::Service">Service</a>, Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.MakeError" title="type tower::MakeService::MakeError">MakeError</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>The future of the <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> instance.</p>
</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.poll_ready" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#45">Source</a><h4 class="code-header">fn <a href="#tymethod.poll_ready" class="fn">poll_ready</a>(
&amp;mut self,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.MakeError" title="type tower::MakeService::MakeError">MakeError</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Returns <a href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html#variant.Ready" title="variant core::task::poll::Poll::Ready"><code>Poll::Ready</code></a> when the factory is able to create more services.</p>
<p>If the service is at capacity, then <a href="https://doc.rust-lang.org/1.93.1/core/task/poll/enum.Poll.html#variant.Pending" title="variant core::task::poll::Poll::Pending"><code>Poll::Pending</code></a> is returned and the task
is notified when the service becomes ready again. This function is
expected to be called while on a task.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.make_service" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#48">Source</a><h4 class="code-header">fn <a href="#tymethod.make_service" class="fn">make_service</a>(&amp;mut self, target: Target) -&gt; Self::<a class="associatedtype" href="../trait.MakeService.html#associatedtype.Future" title="type tower::MakeService::Future">Future</a></h4></section></summary><div class="docblock"><p>Create and return a new service value asynchronously.</p>
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.into_service" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#79-87">Source</a><h4 class="code-header">fn <a href="#method.into_service" class="fn">into_service</a>(self) -&gt; <a class="struct" href="struct.IntoService.html" title="struct tower::make::IntoService">IntoService</a>&lt;Self, Request&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Consume this <a href="../trait.MakeService.html" title="trait tower::MakeService"><code>MakeService</code></a> and convert it into a <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a>.</p>
<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::convert::Infallible;
<span class="kw">use </span>tower::Service;
<span class="kw">use </span>tower::make::MakeService;
<span class="kw">use </span>tower::service_fn;
<span class="comment">// A `MakeService`
</span><span class="kw">let </span>make_service = service_fn(|make_req: ()| <span class="kw">async </span>{
<span class="prelude-val">Ok</span>::&lt;<span class="kw">_</span>, Infallible&gt;(service_fn(|req: String| <span class="kw">async </span>{
<span class="prelude-val">Ok</span>::&lt;<span class="kw">_</span>, Infallible&gt;(req)
}))
});
<span class="comment">// Convert the `MakeService` into a `Service`
</span><span class="kw">let </span><span class="kw-2">mut </span>svc = make_service.into_service();
<span class="comment">// Make a new service
</span><span class="kw">let </span><span class="kw-2">mut </span>new_svc = svc.call(()).<span class="kw">await</span>.unwrap();
<span class="comment">// Call the service
</span><span class="kw">let </span>res = new_svc.call(<span class="string">"foo"</span>.to_string()).<span class="kw">await</span>.unwrap();</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.as_service" class="method"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#121-129">Source</a><h4 class="code-header">fn <a href="#method.as_service" class="fn">as_service</a>(&amp;mut self) -&gt; <a class="struct" href="struct.AsService.html" title="struct tower::make::AsService">AsService</a>&lt;'_, Self, Request&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Convert this <a href="../trait.MakeService.html" title="trait tower::MakeService"><code>MakeService</code></a> into a <a href="../trait.Service.html" title="trait tower::Service"><code>Service</code></a> without consuming the original <a href="../trait.MakeService.html" title="trait tower::MakeService"><code>MakeService</code></a>.</p>
<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::convert::Infallible;
<span class="kw">use </span>tower::Service;
<span class="kw">use </span>tower::make::MakeService;
<span class="kw">use </span>tower::service_fn;
<span class="comment">// A `MakeService`
</span><span class="kw">let </span><span class="kw-2">mut </span>make_service = service_fn(|make_req: ()| <span class="kw">async </span>{
<span class="prelude-val">Ok</span>::&lt;<span class="kw">_</span>, Infallible&gt;(service_fn(|req: String| <span class="kw">async </span>{
<span class="prelude-val">Ok</span>::&lt;<span class="kw">_</span>, Infallible&gt;(req)
}))
});
<span class="comment">// Convert the `MakeService` into a `Service`
</span><span class="kw">let </span><span class="kw-2">mut </span>svc = make_service.as_service();
<span class="comment">// Make a new service
</span><span class="kw">let </span><span class="kw-2">mut </span>new_svc = svc.call(()).<span class="kw">await</span>.unwrap();
<span class="comment">// Call the service
</span><span class="kw">let </span>res = new_svc.call(<span class="string">"foo"</span>.to_string()).<span class="kw">await</span>.unwrap();
<span class="comment">// The original `MakeService` is still accessible
</span><span class="kw">let </span>new_svc = make_service.make_service(()).<span class="kw">await</span>.unwrap();</code></pre></div></div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-MakeService%3CTarget,+Request%3E-for-M" class="impl"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#139-157">Source</a><a href="#impl-MakeService%3CTarget,+Request%3E-for-M" class="anchor">§</a><h3 class="code-header">impl&lt;M, S, Target, Request&gt; <a class="trait" href="../trait.MakeService.html" title="trait tower::MakeService">MakeService</a>&lt;Target, Request&gt; for M<div class="where">where
M: <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Target, Response = S&gt;,
S: <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Request&gt;,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Response-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#144">Source</a><a href="#associatedtype.Response-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Response" class="associatedtype">Response</a> = &lt;S as <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Request&gt;&gt;::<a class="associatedtype" href="../trait.Service.html#associatedtype.Response" title="type tower::Service::Response">Response</a></h4></section><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#145">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = &lt;S as <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Request&gt;&gt;::<a class="associatedtype" href="../trait.Service.html#associatedtype.Error" title="type tower::Service::Error">Error</a></h4></section><section id="associatedtype.Service-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#146">Source</a><a href="#associatedtype.Service-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = S</h4></section><section id="associatedtype.MakeError-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#147">Source</a><a href="#associatedtype.MakeError-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.MakeError" class="associatedtype">MakeError</a> = &lt;M as <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Target&gt;&gt;::<a class="associatedtype" href="../trait.Service.html#associatedtype.Error" title="type tower::Service::Error">Error</a></h4></section><section id="associatedtype.Future-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/tower/make/make_service.rs.html#148">Source</a><a href="#associatedtype.Future-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = &lt;M as <a class="trait" href="../trait.Service.html" title="trait tower::Service">Service</a>&lt;Target&gt;&gt;::<a class="associatedtype" href="../trait.Service.html#associatedtype.Future" title="type tower::Service::Future">Future</a></h4></section></div></details></div><script src="../../trait.impl/tower/make/make_service/trait.MakeService.js" async></script></section></div></main></body></html>