rtic/dev/api/futures_util/task/trait.Spawn.html

25 lines
12 KiB
HTML
Raw Permalink Normal View History

<!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 `Spawn` trait allows for pushing futures onto an executor that will run them to completion."><title>Spawn in futures_util::task - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="futures_util" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../futures_util/index.html">futures_<wbr>util</a><span class="version">0.3.31</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Spawn</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.spawn_obj" title="spawn_obj">spawn_obj</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.status" title="status">status</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-Spawn-for-%26Sp" title="&#38;Sp">&#38;Sp</a></li><li><a href="#impl-Spawn-for-%26mut+Sp" title="&#38;mut Sp">&#38;mut Sp</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In futures_<wbr>util::<wbr>task</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">futures_util</a>::<wbr><a href="index.html">task</a></span><h1>Trait <span class="trait">Spawn</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/futures_task/spawn.rs.html#6">source</a> </span></div><pre class="rust item-decl"><code>pub trait Spawn {
// Required method
fn <a href="#tymethod.spawn_obj" class="fn">spawn_obj</a>(
&amp;self,
future: <a class="struct" href="struct.FutureObj.html" title="struct futures_util::task::FutureObj">FutureObj</a>&lt;'static, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt;;
// Provided method
fn <a href="#method.status" class="fn">status</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt; { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <code>Spawn</code> trait allows for pushing futures onto an executor that will
run them to completion.</p>
</div></details><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.spawn_obj" class="method"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#15">source</a><h4 class="code-header">fn <a href="#tymethod.spawn_obj" class="fn">spawn_obj</a>(&amp;self, future: <a class="struct" href="struct.FutureObj.html" title="struct futures_util::task::FutureObj">FutureObj</a>&lt;'static, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt;</h4></section></summary><div class="docblock"><p>Spawns a future that will be run to completion.</p>
<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
<p>The executor may be unable to spawn tasks. Spawn errors should
represent relatively rare scenarios, such as the executor
having been shut down so that it is no longer able to accept
tasks.</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.status" class="method"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#24">source</a><h4 class="code-header">fn <a href="#method.status" class="fn">status</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt;</h4></section></summary><div class="docblock"><p>Determines whether the executor is able to spawn new tasks.</p>
<p>This method will return <code>Ok</code> when the executor is <em>likely</em>
(but not guaranteed) to accept a subsequent spawn attempt.
Likewise, an <code>Err</code> return means that <code>spawn</code> is likely, but
not guaranteed, to yield an error.</p>
</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Spawn-for-%26Sp" class="impl"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#86">source</a><a href="#impl-Spawn-for-%26Sp" class="anchor">§</a><h3 class="code-header">impl&lt;Sp&gt; <a class="trait" href="trait.Spawn.html" title="trait futures_util::task::Spawn">Spawn</a> for <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.reference.html">&amp;Sp</a><div class="where">where
Sp: <a class="trait" href="trait.Spawn.html" title="trait futures_util::task::Spawn">Spawn</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.spawn_obj" class="method trait-impl"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#87">source</a><a href="#method.spawn_obj" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.spawn_obj" class="fn">spawn_obj</a>(&amp;self, future: <a class="struct" href="struct.FutureObj.html" title="struct futures_util::task::FutureObj">FutureObj</a>&lt;'static, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt;</h4></section><section id="method.status-1" class="method trait-impl"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#91">source</a><a href="#method.status-1" class="anchor">§</a><h4 class="code-header">fn <a href="#method.status" class="fn">status</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Spawn-for-%26mut+Sp" class="impl"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#96">source</a><a href="#impl-Spawn-for-%26mut+Sp" class="anchor">§</a><h3 class="code-header">impl&lt;Sp&gt; <a class="trait" href="trait.Spawn.html" title="trait futures_util::task::Spawn">Spawn</a> for <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.reference.html">&amp;mut Sp</a><div class="where">where
Sp: <a class="trait" href="trait.Spawn.html" title="trait futures_util::task::Spawn">Spawn</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.spawn_obj-1" class="method trait-impl"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#97">source</a><a href="#method.spawn_obj-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.spawn_obj" class="fn">spawn_obj</a>(&amp;self, future: <a class="struct" href="struct.FutureObj.html" title="struct futures_util::task::FutureObj">FutureObj</a>&lt;'static, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt;</h4></section><section id="method.status-2" class="method trait-impl"><a class="src rightside" href="../../src/futures_task/spawn.rs.html#101">source</a><a href="#method.status-2" class="anchor">§</a><h4 class="code-header">fn <a href="#method.status" class="fn">status</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.unit.html">()</a>, <a class="struct" href="struct.SpawnError.html" title="struct futures_util::task::SpawnError">SpawnError</a>&gt;</h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../../trait.impl/futures_task/spawn/trait.Spawn.js" async></script></section></div></main></body></html>