Files
g3/tmp/tokio_stream_docs.html
Dhanji R. Prasanna 68c9135913 Fix research tool UI: remove duplicate header, add footer spacing, remove spinner, widen command display
- Remove duplicate tool header (lib.rs already prints it)
- Add newline before timing footer for visual separation
- Remove spinner animation (incompatible with update_tool_output_line)
- Change shell command format to " > `cmd` ..." with 60 char width
2026-01-10 15:20:40 +11:00

344 lines
30 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.
<html lang="en" data-theme="dark" data-docs-rs-theme="dark"><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="Stream utilities for Tokio."><title>tokio_stream - 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="/-/rustdoc.static/${f}">`).join(""))</script><link rel="preload" as="font" type="font/woff2" href="/-/rustdoc.static/SourceSerif4-Regular-6b053e98.ttf.woff2"><link rel="preload" as="font" type="font/woff2" href="/-/rustdoc.static/FiraSans-Italic-81dc35de.woff2"><link rel="preload" as="font" type="font/woff2" href="/-/rustdoc.static/FiraSans-Regular-0fe48ade.woff2"><link rel="preload" as="font" type="font/woff2" href="/-/rustdoc.static/FiraSans-MediumItalic-ccf7e434.woff2"><link rel="preload" as="font" type="font/woff2" href="/-/rustdoc.static/FiraSans-Medium-e1aa3f0a.woff2"><link rel="preload" as="font" type="font/woff2" href="/-/rustdoc.static/SourceCodePro-Regular-8badfe75.ttf.woff2"><link rel="preload" as="font" type="font/woff2" href="/-/rustdoc.static/SourceCodePro-Semibold-aa29a496.ttf.woff2"><link rel="stylesheet" href="/-/rustdoc.static/normalize-9960930a.css"><link rel="stylesheet" href="/-/static/vendored.css?0-1-0-7bfb09c2-2026-01-03" media="all"><link rel="stylesheet" href="/-/rustdoc.static/rustdoc-2eb46af5.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="/-/rustdoc.static/" data-current-crate="tokio_stream" data-themes="" data-resource-suffix="-20260103-1.94.0-nightly-7ecabfaaf" data-rustdoc-version="1.94.0-nightly (7ecabfaaf 2026-01-03)" data-channel="nightly" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-b897f86f.js" data-settings-js="settings-c38705f0.js"><script src="/-/rustdoc.static/storage-e2aeef58.js"></script><script defer="" src="../crates-20260103-1.94.0-nightly-7ecabfaaf.js"></script><script defer="" src="/-/rustdoc.static/main-7bab91a1.js"></script><noscript><link rel="stylesheet" href="/-/rustdoc.static/noscript-ffcac47a.css"></noscript><link rel="alternate icon" type="image/png" href="/-/rustdoc.static/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="/-/rustdoc.static/favicon-044be391.svg"><link rel="stylesheet" href="/-/static/rustdoc-2025-08-20.css?0-1-0-7bfb09c2-2026-01-03" media="all"><link rel="stylesheet" href="/-/static/font-awesome.css?0-1-0-7bfb09c2-2026-01-03" media="all">
<link rel="search" href="/-/static/opensearch.xml" type="application/opensearchdescription+xml" title="Docs.rs">
<script type="text/javascript">(function() {
function applyTheme(theme) {
if (theme) {
document.documentElement.dataset.docsRsTheme = theme;
}
}
window.addEventListener("storage", ev => {
if (ev.key === "rustdoc-theme") {
applyTheme(ev.newValue);
}
});
// see ./storage-change-detection.html for details
window.addEventListener("message", ev => {
if (ev.data && ev.data.storage && ev.data.storage.key === "rustdoc-theme") {
applyTheme(ev.data.storage.value);
}
});
applyTheme(window.localStorage.getItem("rustdoc-theme"));
})();</script></head><div style="display: none; position: fixed; width: 100%; height: 100%; z-index: 1;"></div><body class="rustdoc-page">
<div class="nav-container">
<div class="container">
<div class="pure-menu pure-menu-horizontal" role="navigation" aria-label="Main navigation">
<form action="/releases/search" method="GET" id="nav-search-form" class="landing-search-form-nav ">
<a href="/" class="pure-menu-heading pure-menu-link docsrs-logo" aria-label="Docs.rs">
<span title="Docs.rs"><span class="fa fa-solid fa-cubes " aria-hidden="true"></span></span>
<span class="title">Docs.rs</span>
</a><ul class="pure-menu-list">
<script id="crate-metadata" type="application/json">
{
"name": "tokio-stream",
"version": "0.1.18"
}
</script><li class="pure-menu-item pure-menu-has-children">
<a href="#" class="pure-menu-link crate-name" title="Utilities to work with `Stream` and `tokio`.
" aria-haspopup="menu">
<span class="fa fa-solid fa-cube " aria-hidden="true"></span>
<span class="title">tokio-stream-0.1.18</span>
</a><div class="pure-menu-children package-details-menu" role="menu">
<ul class="pure-menu-list menu-item-divided">
<li class="pure-menu-heading" id="crate-title">
tokio-stream 0.1.18
<span id="clipboard" class="svg-clipboard" title="Copy crate name and version information"></span>
</li><li class="pure-menu-item">
<a href="/tokio-stream/0.1.18/tokio_stream/" class="pure-menu-link description" id="permalink" title="Get a link to this specific version"><span class="fa fa-solid fa-link " aria-hidden="true"></span> Permalink
</a>
</li><li class="pure-menu-item">
<a href="/crate/tokio-stream/latest" class="pure-menu-link description" title="See tokio-stream in docs.rs">
<span class="fa fa-solid fa-cube " aria-hidden="true"></span> Docs.rs crate page
</a>
</li><li class="pure-menu-item">
<span class="pure-menu-link description"><span class="fa fa-solid fa-scale-unbalanced-flip " aria-hidden="true"></span>
<a href="https://spdx.org/licenses/MIT" class="pure-menu-sublink">MIT</a></span>
</li></ul>
<div class="pure-g menu-item-divided">
<div class="pure-u-1-2 right-border">
<ul class="pure-menu-list">
<li class="pure-menu-heading">Links</li>
<li class="pure-menu-item">
<a href="https://tokio.rs" class="pure-menu-link">
<span class="fa fa-solid fa-house " aria-hidden="true"></span> Homepage
</a>
</li><li class="pure-menu-item">
<a href="https://github.com/tokio-rs/tokio" class="pure-menu-link">
<span class="fa fa-solid fa-code-branch " aria-hidden="true"></span> Repository
</a>
</li><li class="pure-menu-item">
<a href="https://crates.io/crates/tokio-stream" class="pure-menu-link" title="See tokio-stream in crates.io">
<span class="fa fa-solid fa-cube " aria-hidden="true"></span> crates.io
</a>
</li>
<li class="pure-menu-item">
<a href="/crate/tokio-stream/latest/source/" title="Browse source of tokio-stream-0.1.18" class="pure-menu-link">
<span class="fa fa-solid fa-folder-open " aria-hidden="true"></span> Source
</a>
</li>
</ul>
</div><div class="pure-u-1-2">
<ul class="pure-menu-list" id="topbar-owners">
<li class="pure-menu-heading">Owners</li><li class="pure-menu-item">
<a href="https://crates.io/users/carllerche" class="pure-menu-link">
<span class="fa fa-solid fa-user " aria-hidden="true"></span> carllerche
</a>
</li><li class="pure-menu-item">
<a href="https://crates.io/users/Darksonn" class="pure-menu-link">
<span class="fa fa-solid fa-user " aria-hidden="true"></span> Darksonn
</a>
</li><li class="pure-menu-item">
<a href="https://crates.io/teams/github:tokio-rs:core" class="pure-menu-link">
<span class="fa fa-solid fa-user " aria-hidden="true"></span> github:tokio-rs:core
</a>
</li></ul>
</div>
</div>
<div class="pure-g menu-item-divided">
<div class="pure-u-1-2 right-border">
<ul class="pure-menu-list">
<li class="pure-menu-heading">Dependencies</li>
<li class="pure-menu-item">
<div class="pure-menu pure-menu-scrollable sub-menu" tabindex="-1">
<ul class="pure-menu-list">
<li class="pure-menu-item"><a href="/futures-core/^0.3.0/" class="pure-menu-link">
futures-core ^0.3.0
<i class="dependencies normal">normal</i>
</a>
</li><li class="pure-menu-item"><a href="/pin-project-lite/^0.2.11/" class="pure-menu-link">
pin-project-lite ^0.2.11
<i class="dependencies normal">normal</i>
</a>
</li><li class="pure-menu-item"><a href="/tokio/^1.15.0/" class="pure-menu-link">
tokio ^1.15.0
<i class="dependencies normal">normal</i>
</a>
</li><li class="pure-menu-item"><a href="/tokio-util/^0.7.0/" class="pure-menu-link">
tokio-util ^0.7.0
<i class="dependencies normal">normal</i>
<i>optional</i>
</a>
</li><li class="pure-menu-item"><a href="/async-stream/^0.3/" class="pure-menu-link">
async-stream ^0.3
<i class="dependencies dev">dev</i>
</a>
</li><li class="pure-menu-item"><a href="/futures/^0.3/" class="pure-menu-link">
futures ^0.3
<i class="dependencies dev">dev</i>
</a>
</li><li class="pure-menu-item"><a href="/parking_lot/^0.12.0/" class="pure-menu-link">
parking_lot ^0.12.0
<i class="dependencies dev">dev</i>
</a>
</li><li class="pure-menu-item"><a href="/tokio/^1.2.0/" class="pure-menu-link">
tokio ^1.2.0
<i class="dependencies dev">dev</i>
</a>
</li><li class="pure-menu-item"><a href="/tokio-test/^0.4/" class="pure-menu-link">
tokio-test ^0.4
<i class="dependencies dev">dev</i>
</a>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div class="pure-u-1-2">
<ul class="pure-menu-list">
<li class="pure-menu-heading">Versions</li>
<li class="pure-menu-item">
<div class="pure-menu pure-menu-scrollable sub-menu" id="releases-list" tabindex="-1" data-url="/crate/tokio-stream/latest/menus/releases/tokio_stream/">
<span class="rotate"><span class="fa fa-solid fa-spinner " aria-hidden="true"></span></span>
</div>
</li>
</ul>
</div>
</div>
<div class="pure-g">
<div class="pure-u-1">
<ul class="pure-menu-list">
<li>
<a href="/crate/tokio-stream/latest" class="pure-menu-link">
<b>100%</b>
of the crate is documented
</a>
</li>
</ul>
</div>
</div></div>
</li><li class="pure-menu-item pure-menu-has-children">
<a href="#" class="pure-menu-link" aria-label="Platform" aria-haspopup="menu">
<span class="fa fa-solid fa-gears " aria-hidden="true"></span>
<span class="title">Platform</span>
</a>
<ul class="pure-menu-children" id="platforms" data-url="/crate/tokio-stream/latest/menus/platforms/tokio_stream/" role="menu"><li class="pure-menu-item">
<a href="/crate/tokio-stream/latest/target-redirect/aarch64-apple-darwin/tokio_stream/" class="pure-menu-link" data-fragment="retain" rel="nofollow">aarch64-apple-darwin</a>
</li><li class="pure-menu-item">
<a href="/crate/tokio-stream/latest/target-redirect/aarch64-unknown-linux-gnu/tokio_stream/" class="pure-menu-link" data-fragment="retain" rel="nofollow">aarch64-unknown-linux-gnu</a>
</li><li class="pure-menu-item">
<a href="/crate/tokio-stream/latest/target-redirect/i686-pc-windows-msvc/tokio_stream/" class="pure-menu-link" data-fragment="retain" rel="nofollow">i686-pc-windows-msvc</a>
</li><li class="pure-menu-item">
<a href="/crate/tokio-stream/latest/target-redirect/x86_64-pc-windows-msvc/tokio_stream/" class="pure-menu-link" data-fragment="retain" rel="nofollow">x86_64-pc-windows-msvc</a>
</li><li class="pure-menu-item">
<a href="/crate/tokio-stream/latest/target-redirect/tokio_stream/" class="pure-menu-link" data-fragment="retain" rel="nofollow">x86_64-unknown-linux-gnu</a>
</li></ul>
</li><li class="pure-menu-item">
<a href="/crate/tokio-stream/latest/features" title="Browse available feature flags of tokio-stream-0.1.18" class="pure-menu-link">
<span class="fa fa-solid fa-flag " aria-hidden="true"></span>
<span class="title">Feature flags</span>
</a>
</li>
</ul><div class="spacer"></div>
<ul class="pure-menu-list">
<li class="pure-menu-item pure-menu-has-children">
<a href="#" class="pure-menu-link" aria-label="docs.rs" aria-haspopup="menu">docs.rs</a>
<ul class="pure-menu-children aligned-icons" role="menu"><li class="pure-menu-item"><a class="pure-menu-link" href="/about"><span class="fa fa-solid fa-circle-info " aria-hidden="true"></span> About docs.rs</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="/about/badges"><span class="fa fa-brands fa-fonticons " aria-hidden="true"></span> Badges</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="/about/builds"><span class="fa fa-solid fa-gears " aria-hidden="true"></span> Builds</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="/about/metadata"><span class="fa fa-solid fa-table " aria-hidden="true"></span> Metadata</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="/about/redirections"><span class="fa fa-solid fa-road " aria-hidden="true"></span> Shorthand URLs</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="/about/download"><span class="fa fa-solid fa-download " aria-hidden="true"></span> Download</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="/about/rustdoc-json"><span class="fa fa-solid fa-file-code " aria-hidden="true"></span> Rustdoc JSON</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="/releases/queue"><span class="fa fa-solid fa-gears " aria-hidden="true"></span> Build queue</a></li><li class="pure-menu-item"><a class="pure-menu-link" href="https://foundation.rust-lang.org/policies/privacy-policy/#docs.rs" target="_blank"><span class="fa fa-solid fa-shield-halved " aria-hidden="true"></span> Privacy policy</a></li>
</ul>
</li>
</ul>
<ul class="pure-menu-list"><li class="pure-menu-item pure-menu-has-children">
<a href="#" class="pure-menu-link" aria-label="Rust" aria-haspopup="menu">Rust</a>
<ul class="pure-menu-children" role="menu">
<li class="pure-menu-item"><a class="pure-menu-link" href="https://www.rust-lang.org/" target="_blank">Rust website</a></li>
<li class="pure-menu-item"><a class="pure-menu-link" href="https://doc.rust-lang.org/book/" target="_blank">The Book</a></li>
<li class="pure-menu-item"><a class="pure-menu-link" href="https://doc.rust-lang.org/std/" target="_blank">Standard Library API Reference</a></li>
<li class="pure-menu-item"><a class="pure-menu-link" href="https://doc.rust-lang.org/rust-by-example/" target="_blank">Rust by Example</a></li>
<li class="pure-menu-item"><a class="pure-menu-link" href="https://doc.rust-lang.org/cargo/guide/" target="_blank">The Cargo Guide</a></li>
<li class="pure-menu-item"><a class="pure-menu-link" href="https://doc.rust-lang.org/nightly/clippy" target="_blank">Clippy Documentation</a></li>
</ul>
</li>
</ul>
<div id="search-input-nav">
<label for="nav-search">
<span class="fa fa-solid fa-magnifying-glass " aria-hidden="true"></span>
</label>
<input id="nav-search" name="query" type="text" aria-label="Find crate by search query" tabindex="-1" placeholder="Find crate">
</div>
</form>
</div>
</div>
</div><div class="rustdoc mod crate container-rustdoc" id="rustdoc_body_wrapper" tabindex="-1"><script async="" src="/-/static/menu.js?0-1-0-7bfb09c2-2026-01-03"></script>
<script async="" src="/-/static/index.js?0-1-0-7bfb09c2-2026-01-03"></script>
<iframe src="/-/storage-change-detection.html" width="0" height="0" style="display: none"></iframe><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar>
<button class="sidebar-menu-toggle" slot="sidebar-menu-toggle" title="show sidebar">
</button>
<div class="settings-menu" slot="settings-menu" tabindex="-1">
<a href="../settings.html"><span class="label">Settings</span></a>
</div>
<div class="help-menu" slot="help-menu" tabindex="-1">
<a href="../help.html"><span class="label">Help</span></a>
</div>
<h2><a href="#">Crate tokio_stream</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tokio_stream/index.html">tokio_<wbr>stream</a><span class="version">0.1.18</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#iterating-over-a-stream" title="Iterating over a Stream">Iterating over a Stream</a></li><li><a href="#returning-a-stream-from-a-function" title="Returning a Stream from a function">Returning a Stream from a function</a></li><li><a href="#conversion-to-and-from-asyncreadasyncwrite" title="Conversion to and from `AsyncRead`/`AsyncWrite`">Conversion to and from <code>AsyncRead</code>/<code>AsyncWrite</code></a></li></ul><h3><a href="#reexports">Crate 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><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#traits" title="Traits">Traits</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h3>Crates</h3><ul class="block crate"><li class="current"><a href="../tokio_stream/index.html">tokio_stream</a></li></ul></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 id="sidebar-button"><a href="../tokio_stream/all.html" title="show sidebar"></a></div><h1>Crate <span>tokio_<wbr>stream</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="sub-heading"><a class="src" href="../src/tokio_stream/lib.rs.html#1-117">Source</a> </span><rustdoc-toolbar>
<div id="search-button" tabindex="-1">
<a href="https://docs.rs/tokio-stream/latest/tokio_stream/?search="><span class="label">Search</span></a>
</div>
<div class="settings-menu" tabindex="-1">
<a href="../settings.html"><span class="label">Settings</span></a>
</div>
<div class="help-menu" tabindex="-1">
<a href="../help.html"><span class="label">Help</span></a>
</div>
<button id="toggle-all-docs" title="Collapse sections (shift-click to also collapse impl blocks)"><span class="label">Summary</span></button></rustdoc-toolbar></div><details class="toggle top-doc" open=""><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Stream utilities for Tokio.</p>
<p>A <code>Stream</code> is an asynchronous sequence of values. It can be thought of as
an asynchronous version of the standard librarys <code>Iterator</code> trait.</p>
<p>This crate provides helpers to work with them. For examples of usage and a more in-depth
description of streams you can also refer to the <a href="https://tokio.rs/tokio/tutorial/streams">streams
tutorial</a> on the tokio website.</p>
<h2 id="iterating-over-a-stream"><a class="doc-anchor" href="#iterating-over-a-stream">§</a>Iterating over a Stream</h2>
<p>Due to similarities with the standard librarys <code>Iterator</code> trait, some new
users may assume that they can use <code>for in</code> syntax to iterate over a
<code>Stream</code>, but this is unfortunately not possible. Instead, you can use a
<code>while let</code> loop as follows:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio_stream::{<span class="self">self </span><span class="kw">as </span>stream, StreamExt};
<span class="kw">let </span><span class="kw-2">mut </span>stream = stream::iter(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>]);
<span class="kw">while let </span><span class="prelude-val">Some</span>(value) = stream.next().<span class="kw">await </span>{
<span class="macro">println!</span>(<span class="string">"Got {}"</span>, value);
}</code></pre></div><h2 id="returning-a-stream-from-a-function"><a class="doc-anchor" href="#returning-a-stream-from-a-function">§</a>Returning a Stream from a function</h2>
<p>A common way to stream values from a function is to pass in the sender
half of a channel and use the receiver as the stream. This requires awaiting
both futures to ensure progress is made. Another alternative is the
<a href="https://docs.rs/async-stream">async-stream</a> crate, which contains macros that provide a <code>yield</code> keyword
and allow you to return an <code>impl Stream</code>.</p>
<h2 id="conversion-to-and-from-asyncreadasyncwrite"><a class="doc-anchor" href="#conversion-to-and-from-asyncreadasyncwrite">§</a>Conversion to and from <code>AsyncRead</code>/<code>AsyncWrite</code></h2>
<p>It is often desirable to convert a <code>Stream</code> into an <a href="https://docs.rs/tokio/latest/tokio/io/trait.AsyncRead.html"><code>AsyncRead</code></a>,
especially when dealing with plaintext formats streamed over the network.
The opposite conversion from an <a href="https://docs.rs/tokio/latest/tokio/io/trait.AsyncRead.html"><code>AsyncRead</code></a> into a <code>Stream</code> is also
another commonly required feature. To enable these conversions,
<a href="https://docs.rs/tokio-util/latest/tokio_util/codec/index.html"><code>tokio-util</code></a> provides the <a href="https://docs.rs/tokio-util/latest/tokio_util/io/struct.StreamReader.html"><code>StreamReader</code></a> and <a href="https://docs.rs/tokio-util/latest/tokio_util/io/struct.ReaderStream.html"><code>ReaderStream</code></a>
types when the io feature is enabled.</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.Stream"><code>pub use futures_core::<a class="trait" href="https://docs.rs/futures-core/0.3.31/x86_64-unknown-linux-gnu/futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream">Stream</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="adapters/index.html" title="mod tokio_stream::adapters">adapters</a></dt><dd>Adapters for <a href="https://docs.rs/futures-core/0.3.31/x86_64-unknown-linux-gnu/futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream"><code>Stream</code></a>s created by methods in <a href="trait.StreamExt.html" title="trait tokio_stream::StreamExt"><code>StreamExt</code></a>.</dd><dt><a class="mod" href="wrappers/index.html" title="mod tokio_stream::wrappers">wrappers</a></dt><dd>Wrappers for Tokio types that implement <code>Stream</code>.</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.Elapsed.html" title="struct tokio_stream::Elapsed">Elapsed</a><wbr><span class="stab portability" title="Available on crate feature `time` only"><code>time</code></span></dt><dd>Error returned by <code>Timeout</code> and <code>TimeoutRepeating</code>.</dd><dt><a class="struct" href="struct.Empty.html" title="struct tokio_stream::Empty">Empty</a></dt><dd>Stream for the <a href="fn.empty.html" title="fn tokio_stream::empty"><code>empty</code></a> function.</dd><dt><a class="struct" href="struct.Iter.html" title="struct tokio_stream::Iter">Iter</a></dt><dd>Stream for the <a href="fn.iter.html" title="fn tokio_stream::iter"><code>iter</code></a> function.</dd><dt><a class="struct" href="struct.Once.html" title="struct tokio_stream::Once">Once</a></dt><dd>Stream for the <a href="fn.once.html" title="fn tokio_stream::once"><code>once</code></a> function.</dd><dt><a class="struct" href="struct.Pending.html" title="struct tokio_stream::Pending">Pending</a></dt><dd>Stream for the <a href="fn.pending.html" title="fn tokio_stream::pending"><code>pending</code></a> function.</dd><dt><a class="struct" href="struct.StreamMap.html" title="struct tokio_stream::StreamMap">Stream<wbr>Map</a></dt><dd>Combine many streams into one, indexing each source stream with a unique
key.</dd><dt><a class="struct" href="struct.StreamNotifyClose.html" title="struct tokio_stream::StreamNotifyClose">Stream<wbr>Notify<wbr>Close</a></dt><dd>A <code>Stream</code> that wraps the values in an <code>Option</code>.</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.FromStream.html" title="trait tokio_stream::FromStream">From<wbr>Stream</a></dt><dd>Convert from a <a href="https://docs.rs/futures-core/0.3.31/x86_64-unknown-linux-gnu/futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream"><code>Stream</code></a>.</dd><dt><a class="trait" href="trait.StreamExt.html" title="trait tokio_stream::StreamExt">Stream<wbr>Ext</a></dt><dd>An extension trait for the <a href="https://docs.rs/futures-core/0.3.31/x86_64-unknown-linux-gnu/futures_core/stream/trait.Stream.html" title="trait futures_core::stream::Stream"><code>Stream</code></a> trait that provides a variety of
convenient combinator functions.</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.empty.html" title="fn tokio_stream::empty">empty</a></dt><dd>Creates a stream that yields nothing.</dd><dt><a class="fn" href="fn.iter.html" title="fn tokio_stream::iter">iter</a></dt><dd>Converts an <code>Iterator</code> into a <code>Stream</code> which is always ready
to yield the next value.</dd><dt><a class="fn" href="fn.once.html" title="fn tokio_stream::once">once</a></dt><dd>Creates a stream that emits an element exactly once.</dd><dt><a class="fn" href="fn.pending.html" title="fn tokio_stream::pending">pending</a></dt><dd>Creates a stream that is never ready</dd></dl></section><section id="alternative-display" class="content hidden"></section><section id="not-displayed" class="hidden"><section id="search"><div class="main-heading search-results-main-heading"><nav class="sub">
<form class="search-form loading">
<span></span> <!-- This empty span is a hacky fix for Safari: see #93184 -->
<input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Type S or / to search, ? for more options…" type="search">
</form>
</nav><div class="search-switcher"></div></div><div class="search-out"></div></section></section></div></main></div></body></html>