mid coding commit
This commit is contained in:
@@ -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="Runtime utilities"><title>hyper_util::rt - 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="hyper_util" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.0 (254b59607 2026-01-19)" data-channel="1.93.0" 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 rt</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../hyper_util/index.html">hyper_<wbr>util</a><span class="version">0.1.19</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module rt</a></h2><h3><a href="#reexports">Module Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate hyper_<wbr>util</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">hyper_util</a></div><h1>Module <span>rt</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/hyper_util/rt/mod.rs.html#1-12">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Runtime utilities</p>
|
||||
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.TokioExecutor"><code>pub use self::tokio::<a class="struct" href="tokio/struct.TokioExecutor.html" title="struct hyper_util::rt::tokio::TokioExecutor">TokioExecutor</a>;</code></dt><dt id="reexport.TokioIo"><code>pub use self::tokio::<a class="struct" href="tokio/struct.TokioIo.html" title="struct hyper_util::rt::tokio::TokioIo">TokioIo</a>;</code></dt><dt id="reexport.TokioTimer"><code>pub use self::tokio::<a class="struct" href="tokio/struct.TokioTimer.html" title="struct hyper_util::rt::tokio::TokioTimer">TokioTimer</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="tokio/index.html" title="mod hyper_util::rt::tokio">tokio</a></dt><dd>[<code>tokio</code>] runtime components integration for [<code>hyper</code>].</dd></dl></section></div></main></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
window.SIDEBAR_ITEMS = {"mod":["tokio"]};
|
||||
@@ -0,0 +1,41 @@
|
||||
<!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="`tokio` runtime components integration for `hyper`."><title>hyper_util::rt::tokio - 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="hyper_util" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.0 (254b59607 2026-01-19)" data-channel="1.93.0" 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 tokio</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../hyper_util/index.html">hyper_<wbr>util</a><span class="version">0.1.19</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module tokio</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#io" title="IO">IO</a></li></ul><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 hyper_<wbr>util::<wbr>rt</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">hyper_util</a>::<wbr><a href="../index.html">rt</a></div><h1>Module <span>tokio</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/hyper_util/rt/tokio.rs.html#1-342">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>[<code>tokio</code>] runtime components integration for [<code>hyper</code>].</p>
|
||||
<p>[<code>hyper::rt</code>] exposes a set of traits to allow hyper to be agnostic to
|
||||
its underlying asynchronous runtime. This submodule provides glue for
|
||||
[<code>tokio</code>] users to bridge those types to [<code>hyper</code>]’s interfaces.</p>
|
||||
<h2 id="io"><a class="doc-anchor" href="#io">§</a>IO</h2>
|
||||
<p>[<code>hyper</code>] abstracts over asynchronous readers and writers using <a href="hyper::rt::Read"><code>Read</code></a>
|
||||
and <a href="hyper::rt::Write"><code>Write</code></a>, while [<code>tokio</code>] abstracts over this using <a href="tokio::io::AsyncRead"><code>AsyncRead</code></a>
|
||||
and <a href="tokio::io::AsyncWrite"><code>AsyncWrite</code></a>. This submodule provides a collection of IO adaptors
|
||||
to bridge these two IO ecosystems together: <a href="struct.TokioIo.html" title="struct hyper_util::rt::tokio::TokioIo"><code>TokioIo<I></code></a>,
|
||||
<a href="struct.WithHyperIo.html" title="struct hyper_util::rt::tokio::WithHyperIo"><code>WithHyperIo<I></code></a>, and <a href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo"><code>WithTokioIo<I></code></a>.</p>
|
||||
<p>To compare and constrast these IO adaptors and to help explain which
|
||||
is the proper choice for your needs, here is a table showing which IO
|
||||
traits these implement, given two types <code>T</code> and <code>H</code> which implement
|
||||
Tokio’s and Hyper’s corresponding IO traits:</p>
|
||||
<div><table><thead><tr><th></th><th><a href="tokio::io::AsyncRead"><code>AsyncRead</code></a></th><th><a href="tokio::io::AsyncWrite"><code>AsyncWrite</code></a></th><th><a href="hyper::rt::Read"><code>Read</code></a></th><th><a href="hyper::rt::Write"><code>Write</code></a></th></tr></thead><tbody>
|
||||
<tr><td><code>T</code></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td></tr>
|
||||
<tr><td><code>H</code></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td></tr>
|
||||
<tr><td><a href="struct.TokioIo.html" title="struct hyper_util::rt::tokio::TokioIo"><code>TokioIo<T></code></a></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td></tr>
|
||||
<tr><td><a href="struct.TokioIo.html" title="struct hyper_util::rt::tokio::TokioIo"><code>TokioIo<H></code></a></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td></tr>
|
||||
<tr><td><a href="struct.WithHyperIo.html" title="struct hyper_util::rt::tokio::WithHyperIo"><code>WithHyperIo<T></code></a></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td></tr>
|
||||
<tr><td><a href="struct.WithHyperIo.html" title="struct hyper_util::rt::tokio::WithHyperIo"><code>WithHyperIo<H></code></a></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td></tr>
|
||||
<tr><td><a href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo"><code>WithTokioIo<T></code></a></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td><td>❌ <strong>false</strong></td></tr>
|
||||
<tr><td><a href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo"><code>WithTokioIo<H></code></a></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td><td>✅ <strong>true</strong></td></tr>
|
||||
</tbody></table>
|
||||
</div>
|
||||
<p>For most situations, <a href="struct.TokioIo.html" title="struct hyper_util::rt::tokio::TokioIo"><code>TokioIo<I></code></a> is the proper choice. This should be
|
||||
constructed, wrapping some underlying [<code>hyper</code>] or [<code>tokio</code>] IO, at the
|
||||
call-site of a function like [<code>hyper::client::conn::http1::handshake</code>].</p>
|
||||
<p><a href="struct.TokioIo.html" title="struct hyper_util::rt::tokio::TokioIo"><code>TokioIo<I></code></a> switches across these ecosystems, but notably does not
|
||||
preserve the existing IO trait implementations of its underlying IO. If
|
||||
one wishes to <em>extend</em> IO with additional implementations,
|
||||
<a href="struct.WithHyperIo.html" title="struct hyper_util::rt::tokio::WithHyperIo"><code>WithHyperIo<I></code></a> and <a href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo"><code>WithTokioIo<I></code></a> are the correct choice.</p>
|
||||
<p>For example, a Tokio reader/writer can be wrapped in <a href="struct.WithHyperIo.html" title="struct hyper_util::rt::tokio::WithHyperIo"><code>WithHyperIo<I></code></a>.
|
||||
That will implement <em>both</em> sets of IO traits. Conversely,
|
||||
<a href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo"><code>WithTokioIo<I></code></a> will implement both sets of IO traits given a
|
||||
reader/writer that implements Hyper’s <a href="hyper::rt::Read"><code>Read</code></a> and <a href="hyper::rt::Write"><code>Write</code></a>.</p>
|
||||
<p>See [<code>tokio::io</code>] and <a href="https://docs.rs/tokio/latest/tokio/#asynchronous-io">“<em>Asynchronous IO</em>”</a> for more
|
||||
information.</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.TokioExecutor.html" title="struct hyper_util::rt::tokio::TokioExecutor">Tokio<wbr>Executor</a></dt><dd>Future executor that utilises <code>tokio</code> threads.</dd><dt><a class="struct" href="struct.TokioIo.html" title="struct hyper_util::rt::tokio::TokioIo">TokioIo</a></dt><dd>A wrapper that implements Tokio’s IO traits for an inner type that
|
||||
implements hyper’s IO traits, or vice versa (implements hyper’s IO
|
||||
traits for a type that implements Tokio’s IO traits).</dd><dt><a class="struct" href="struct.TokioTimer.html" title="struct hyper_util::rt::tokio::TokioTimer">Tokio<wbr>Timer</a></dt><dd>A Timer that uses the tokio runtime.</dd><dt><a class="struct" href="struct.WithHyperIo.html" title="struct hyper_util::rt::tokio::WithHyperIo">With<wbr>Hyper<wbr>Io</a></dt><dd>Extends an underlying [<code>tokio</code>] I/O with [<code>hyper</code>] I/O implementations.</dd><dt><a class="struct" href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo">With<wbr>Tokio<wbr>Io</a></dt><dd>Extends an underlying [<code>hyper</code>] I/O with [<code>tokio</code>] I/O implementations.</dd></dl></section></div></main></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
window.SIDEBAR_ITEMS = {"struct":["TokioExecutor","TokioIo","TokioTimer","WithHyperIo","WithTokioIo"]};
|
||||
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../../../hyper_util/rt/tokio/struct.WithHyperIo.html">
|
||||
<title>Redirection</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../../../hyper_util/rt/tokio/struct.WithHyperIo.html">../../../../hyper_util/rt/tokio/struct.WithHyperIo.html</a>...</p>
|
||||
<script>location.replace("../../../../hyper_util/rt/tokio/struct.WithHyperIo.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../../../hyper_util/rt/tokio/struct.WithTokioIo.html">
|
||||
<title>Redirection</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../../../hyper_util/rt/tokio/struct.WithTokioIo.html">../../../../hyper_util/rt/tokio/struct.WithTokioIo.html</a>...</p>
|
||||
<script>location.replace("../../../../hyper_util/rt/tokio/struct.WithTokioIo.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user