mid coding commit

This commit is contained in:
zazawowow
2026-01-24 22:59:20 +00:00
parent 64cc3bc7fb
commit 731cd67cfb
2228 changed files with 135554 additions and 18 deletions
+2
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="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>&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/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>&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/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&lt;I&gt;</code></a>,
<a href="struct.WithHyperIo.html" title="struct hyper_util::rt::tokio::WithHyperIo"><code>WithHyperIo&lt;I&gt;</code></a>, and <a href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo"><code>WithTokioIo&lt;I&gt;</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
Tokios and Hypers 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&lt;T&gt;</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&lt;H&gt;</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&lt;T&gt;</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&lt;H&gt;</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&lt;T&gt;</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&lt;H&gt;</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&lt;I&gt;</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&lt;I&gt;</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&lt;I&gt;</code></a> and <a href="struct.WithTokioIo.html" title="struct hyper_util::rt::tokio::WithTokioIo"><code>WithTokioIo&lt;I&gt;</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&lt;I&gt;</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&lt;I&gt;</code></a> will implement both sets of IO traits given a
reader/writer that implements Hypers <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 Tokios IO traits for an inner type that
implements hypers IO traits, or vice versa (implements hypers IO
traits for a type that implements Tokios 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>