rtic/stable/api/futures_task/trait.Spawn.html
2024-12-06 13:35:18 +00:00

23 lines
No EOL
12 KiB
HTML

<!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_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_task" 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_task/index.html">futures_<wbr>task</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 class="in-crate"><a href="index.html">In crate futures_<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_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-27">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_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_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_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_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_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-26">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_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-94">source</a><a href="#impl-Spawn-for-%26Sp" class="anchor">§</a><h3 class="code-header">impl&lt;Sp: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.Spawn.html" title="trait futures_task::Spawn">Spawn</a>&gt; <a class="trait" href="trait.Spawn.html" title="trait futures_task::Spawn">Spawn</a> for <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.reference.html">&amp;Sp</a></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-89">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_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_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-93">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_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-104">source</a><a href="#impl-Spawn-for-%26mut+Sp" class="anchor">§</a><h3 class="code-header">impl&lt;Sp: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.Spawn.html" title="trait futures_task::Spawn">Spawn</a>&gt; <a class="trait" href="trait.Spawn.html" title="trait futures_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></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-99">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_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_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-103">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_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>