1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-05-20 09:18:26 +00:00
actix-web/actix_files/struct.NamedFile.html
2024-04-15 01:24:42 +00:00

306 lines
74 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.

<!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="A file with an associated name."><title>NamedFile in actix_files - 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-2c208a72533b4dd0.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="actix_files" data-themes="" data-resource-suffix="" data-rustdoc-version="1.79.0-nightly (0d8b3346a 2024-04-14)" data-channel="nightly" data-search-js="search-ffac13a0df2b1870.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-e32f0c247825364d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-c97aec732c613ca4.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-09095024cf37855e.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc struct"><!--[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><a class="logo-container" href="../actix_files/index.html"><img src="https://actix.rs/img/logo.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../actix_files/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../actix_files/index.html">actix_files</a><span class="version">0.6.5</span></h2></div><h2 class="location"><a href="#">NamedFile</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.content_disposition">content_disposition</a></li><li><a href="#method.content_encoding">content_encoding</a></li><li><a href="#method.content_type">content_type</a></li><li><a href="#method.disable_content_disposition">disable_content_disposition</a></li><li><a href="#method.file">file</a></li><li><a href="#method.from_file">from_file</a></li><li><a href="#method.into_response">into_response</a></li><li><a href="#method.metadata">metadata</a></li><li><a href="#method.modified">modified</a></li><li><a href="#method.open_async">open_async</a></li><li><a href="#method.path">path</a></li><li><a href="#method.prefer_utf8">prefer_utf8</a></li><li><a href="#method.set_content_disposition">set_content_disposition</a></li><li><a href="#method.set_content_encoding">set_content_encoding</a></li><li><a href="#method.set_content_type">set_content_type</a></li><li><a href="#method.set_status_code">set_status_code</a></li><li><a href="#method.use_etag">use_etag</a></li><li><a href="#method.use_last_modified">use_last_modified</a></li></ul><h3><a href="#deref-methods-File">Methods from Deref&lt;Target=File&gt;</a></h3><ul class="block deref-methods"><li><a href="#method.read_at">read_at</a></li><li><a href="#method.readv_at">readv_at</a></li><li><a href="#method.sync_all">sync_all</a></li><li><a href="#method.sync_data">sync_data</a></li><li><a href="#method.write_at">write_at</a></li><li><a href="#method.writev_at">writev_at</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-NamedFile">Debug</a></li><li><a href="#impl-Deref-for-NamedFile">Deref</a></li><li><a href="#impl-DerefMut-for-NamedFile">DerefMut</a></li><li><a href="#impl-HttpServiceFactory-for-NamedFile">HttpServiceFactory</a></li><li><a href="#impl-Responder-for-NamedFile">Responder</a></li><li><a href="#impl-ServiceFactory%3CServiceRequest%3E-for-NamedFile">ServiceFactory&lt;ServiceRequest&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-NamedFile">!RefUnwindSafe</a></li><li><a href="#impl-Send-for-NamedFile">!Send</a></li><li><a href="#impl-Sync-for-NamedFile">!Sync</a></li><li><a href="#impl-UnwindSafe-for-NamedFile">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-NamedFile">Freeze</a></li><li><a href="#impl-Unpin-for-NamedFile">Unpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-IntoServiceFactory%3CSF,+Req%3E-for-SF">IntoServiceFactory&lt;SF, Req&gt;</a></li><li><a href="#impl-Same-for-T">Same</a></li><li><a href="#impl-ServiceFactoryExt%3CReq%3E-for-SF">ServiceFactoryExt&lt;Req&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate actix_files</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../actix_files/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings">Settings</a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">actix_files</a>::<wbr><a class="struct" href="#">NamedFile</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/actix_files/named.rs.html#71-83">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct NamedFile { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A file with an associated name.</p>
<p><code>NamedFile</code> can be registered as services:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::App;
<span class="kw">use </span>actix_files::NamedFile;
<span class="kw">let </span>file = NamedFile::open_async(<span class="string">"./static/index.html"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>app = App::new().service(file);</code></pre></div>
<p>They can also be returned from handlers:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{Responder, get};
<span class="kw">use </span>actix_files::NamedFile;
<span class="attr">#[get(<span class="string">"/"</span>)]
</span><span class="kw">async fn </span>index() -&gt; <span class="kw">impl </span>Responder {
NamedFile::open_async(<span class="string">"./static/index.html"</span>).<span class="kw">await
</span>}</code></pre></div>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-NamedFile" class="impl"><a class="src rightside" href="../src/actix_files/named.rs.html#93-588">source</a><a href="#impl-NamedFile" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_file" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#114-204">source</a><h4 class="code-header">pub fn <a href="#method.from_file" class="fn">from_file</a>&lt;P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;&gt;(file: File, path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a>&gt;</h4></section></summary><div class="docblock"><p>Creates an instance from a previously opened file.</p>
<p>The given <code>path</code> need not exist and is only used to determine the <code>ContentType</code> and
<code>ContentDisposition</code> headers.</p>
<h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
<div class="example-wrap ignore"><a href="#" class="tooltip" title="This example is not tested"></a><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::{
io::{<span class="self">self</span>, Write <span class="kw">as _</span>},
env,
fs::File
};
<span class="kw">use </span>actix_files::NamedFile;
<span class="kw">let </span><span class="kw-2">mut </span>file = File::create(<span class="string">"foo.txt"</span>)<span class="question-mark">?</span>;
file.write_all(<span class="string">b"Hello, world!"</span>)<span class="question-mark">?</span>;
<span class="kw">let </span>named_file = NamedFile::from_file(file, <span class="string">"bar.txt"</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.open_async" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#231-245">source</a><h4 class="code-header">pub async fn <a href="#method.open_async" class="fn">open_async</a>&lt;P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;&gt;(path: P) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to open a file asynchronously in read-only mode.</p>
<p>When the <code>experimental-io-uring</code> crate feature is enabled, this will be async. Otherwise, it
will behave just like <code>open</code>.</p>
<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_files::NamedFile;
<span class="kw">let </span>file = NamedFile::open_async(<span class="string">"foo.txt"</span>).<span class="kw">await</span>.unwrap();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.file" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#249-251">source</a><h4 class="code-header">pub fn <a href="#method.file" class="fn">file</a>(&amp;self) -&gt; &amp;File</h4></section></summary><div class="docblock"><p>Returns reference to the underlying file object.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.path" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#267-269">source</a><h4 class="code-header">pub fn <a href="#method.path" class="fn">path</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a></h4></section></summary><div class="docblock"><p>Returns the filesystem path to this file.</p>
<h5 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_files::NamedFile;
<span class="kw">let </span>file = NamedFile::open_async(<span class="string">"test.txt"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="macro">assert_eq!</span>(file.path().as_os_str(), <span class="string">"foo.txt"</span>);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.modified" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#276-278">source</a><h4 class="code-header">pub fn <a href="#method.modified" class="fn">modified</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.SystemTime.html" title="struct std::time::SystemTime">SystemTime</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the time the file was last modified.</p>
<p>Returns <code>None</code> only on unsupported platforms; see <a href="https://doc.rust-lang.org/nightly/std/fs/struct.Metadata.html#method.modified" title="method std::fs::Metadata::modified"><code>std::fs::Metadata::modified()</code></a>.
Therefore, it is usually safe to unwrap this.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.metadata" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#282-284">source</a><h4 class="code-header">pub fn <a href="#method.metadata" class="fn">metadata</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/std/fs/struct.Metadata.html" title="struct std::fs::Metadata">Metadata</a></h4></section></summary><div class="docblock"><p>Returns the filesystem metadata associated with this file.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.content_type" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#288-290">source</a><h4 class="code-header">pub fn <a href="#method.content_type" class="fn">content_type</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://docs.rs/mime/0.3.17/mime/struct.Mime.html" title="struct mime::Mime">Mime</a></h4></section></summary><div class="docblock"><p>Returns the <code>Content-Type</code> header that will be used when serving this file.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.content_disposition" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#294-296">source</a><h4 class="code-header">pub fn <a href="#method.content_disposition" class="fn">content_disposition</a>(&amp;self) -&gt; &amp;ContentDisposition</h4></section></summary><div class="docblock"><p>Returns the <code>Content-Disposition</code> that will be used when serving this file.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.content_encoding" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#303-305">source</a><h4 class="code-header">pub fn <a href="#method.content_encoding" class="fn">content_encoding</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;ContentEncoding&gt;</h4></section></summary><div class="docblock"><p>Returns the <code>Content-Encoding</code> that will be used when serving this file.</p>
<p>A return value of <code>None</code> indicates that the content is not already using a compressed
representation and may be subject to compression downstream.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_status_code" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#309-312">source</a><h4 class="code-header">pub fn <a href="#method.set_status_code" class="fn">set_status_code</a>(self, status: <a class="struct" href="https://docs.rs/http/0.2.11/http/status/struct.StatusCode.html" title="struct http::status::StatusCode">StatusCode</a>) -&gt; Self</h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 0.7.0: Prefer <code>Responder::customize()</code>.</span></div></span></summary><div class="docblock"><p>Set response status code.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_content_type" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#317-320">source</a><h4 class="code-header">pub fn <a href="#method.set_content_type" class="fn">set_content_type</a>(self, mime_type: <a class="struct" href="https://docs.rs/mime/0.3.17/mime/struct.Mime.html" title="struct mime::Mime">Mime</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Sets the <code>Content-Type</code> header that will be used when serving this file. By default the
<code>Content-Type</code> is inferred from the filename extension.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_content_disposition" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#330-334">source</a><h4 class="code-header">pub fn <a href="#method.set_content_disposition" class="fn">set_content_disposition</a>(self, cd: ContentDisposition) -&gt; Self</h4></section></summary><div class="docblock"><p>Set the Content-Disposition for serving this file. This allows changing the
<code>inline/attachment</code> disposition as well as the filename sent to the peer.</p>
<p>By default the disposition is <code>inline</code> for <code>text/*</code>, <code>image/*</code>, <code>video/*</code> and
<code>application/{javascript, json, wasm}</code> mime types, and <code>attachment</code> otherwise, and the
filename is taken from the path provided in the <code>open</code> method after converting it to UTF-8
(using <code>to_string_lossy</code>).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.disable_content_disposition" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#340-343">source</a><h4 class="code-header">pub fn <a href="#method.disable_content_disposition" class="fn">disable_content_disposition</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Disables <code>Content-Disposition</code> header.</p>
<p>By default, the <code>Content-Disposition</code> header is sent.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_content_encoding" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#351-354">source</a><h4 class="code-header">pub fn <a href="#method.set_content_encoding" class="fn">set_content_encoding</a>(self, enc: ContentEncoding) -&gt; Self</h4></section></summary><div class="docblock"><p>Sets content encoding for this file.</p>
<p>This prevents the <code>Compress</code> middleware from modifying the file contents and signals to
browsers/clients how to decode it. For example, if serving a compressed HTML file (e.g.,
<code>index.html.gz</code>) then use <code>.set_content_encoding(ContentEncoding::Gzip)</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.use_etag" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#360-363">source</a><h4 class="code-header">pub fn <a href="#method.use_etag" class="fn">use_etag</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Specifies whether to return <code>ETag</code> header in response.</p>
<p>Default is true.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.use_last_modified" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#369-372">source</a><h4 class="code-header">pub fn <a href="#method.use_last_modified" class="fn">use_last_modified</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Specifies whether to return <code>Last-Modified</code> header in response.</p>
<p>Default is true.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.prefer_utf8" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#378-381">source</a><h4 class="code-header">pub fn <a href="#method.prefer_utf8" class="fn">prefer_utf8</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Specifies whether text responses should signal a UTF-8 encoding.</p>
<p>Default is false (but will default to true in a future version).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_response" class="method"><a class="src rightside" href="../src/actix_files/named.rs.html#420-587">source</a><h4 class="code-header">pub fn <a href="#method.into_response" class="fn">into_response</a>(self, req: &amp;HttpRequest) -&gt; HttpResponse&lt;BoxBody&gt;</h4></section></summary><div class="docblock"><p>Creates an <code>HttpResponse</code> with file as a streaming body.</p>
</div></details></div></details></div><h2 id="deref-methods-File" class="section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = File&gt;</span><a href="#deref-methods-File" class="anchor">§</a></h2><div id="deref-methods-File-1" class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read_at" class="method"><h4 class="code-header">pub async fn <a href="#method.read_at" class="fn">read_at</a>&lt;T&gt;(&amp;self, buf: T, pos: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -&gt; (<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;, T)<div class="where">where
T: IoBufMut,</div></h4></section></summary><div class="docblock"><p>Read some bytes at the specified offset from the file into the specified
buffer, returning how many bytes were read.</p>
<h5 id="return"><a class="doc-anchor" href="#return">§</a>Return</h5>
<p>The method returns the operation result and the same buffer value passed
as an argument.</p>
<p>If the method returns [<code>Ok(n)</code>], then the read was successful. A nonzero
<code>n</code> value indicates that the buffer has been filled with <code>n</code> bytes of
data from the file. If <code>n</code> is <code>0</code>, then one of the following happened:</p>
<ol>
<li>The specified offset is the end of the file.</li>
<li>The buffer specified was 0 bytes in length.</li>
</ol>
<p>It is not an error if the returned value <code>n</code> is smaller than the buffer
size, even when the file contains enough data to fill the buffer.</p>
<h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
<p>If this function encounters any form of I/O or other error, an error
variant will be returned. The buffer is returned on error.</p>
<h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio_uring::fs::File;
<span class="kw">fn </span>main() -&gt; <span class="prelude-ty">Result</span>&lt;(), Box&lt;<span class="kw">dyn </span>std::error::Error&gt;&gt; {
tokio_uring::start(<span class="kw">async </span>{
<span class="kw">let </span>f = File::open(<span class="string">"foo.txt"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>buffer = <span class="macro">vec!</span>[<span class="number">0</span>; <span class="number">10</span>];
<span class="comment">// Read up to 10 bytes
</span><span class="kw">let </span>(res, buffer) = f.read_at(buffer, <span class="number">0</span>).<span class="kw">await</span>;
<span class="kw">let </span>n = res<span class="question-mark">?</span>;
<span class="macro">println!</span>(<span class="string">"The bytes: {:?}"</span>, <span class="kw-2">&amp;</span>buffer[..n]);
<span class="comment">// Close the file
</span>f.close().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
})
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.readv_at" class="method"><h4 class="code-header">pub async fn <a href="#method.readv_at" class="fn">readv_at</a>&lt;T&gt;(
&amp;self,
bufs: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;T&gt;,
pos: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>
) -&gt; (<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;T&gt;)<div class="where">where
T: IoBufMut,</div></h4></section></summary><div class="docblock"><p>Read some bytes at the specified offset from the file into the specified
array of buffers, returning how many bytes were read.</p>
<h5 id="return-1"><a class="doc-anchor" href="#return-1">§</a>Return</h5>
<p>The method returns the operation result and the same array of buffers
passed as an argument.</p>
<p>If the method returns [<code>Ok(n)</code>], then the read was successful. A nonzero
<code>n</code> value indicates that the buffers have been filled with <code>n</code> bytes of
data from the file. If <code>n</code> is <code>0</code>, then one of the following happened:</p>
<ol>
<li>The specified offset is the end of the file.</li>
<li>The buffers specified were 0 bytes in length.</li>
</ol>
<p>It is not an error if the returned value <code>n</code> is smaller than the buffer
size, even when the file contains enough data to fill the buffer.</p>
<h5 id="errors-1"><a class="doc-anchor" href="#errors-1">§</a>Errors</h5>
<p>If this function encounters any form of I/O or other error, an error
variant will be returned. The buffer is returned on error.</p>
<h5 id="examples-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio_uring::fs::File;
<span class="kw">fn </span>main() -&gt; <span class="prelude-ty">Result</span>&lt;(), Box&lt;<span class="kw">dyn </span>std::error::Error&gt;&gt; {
tokio_uring::start(<span class="kw">async </span>{
<span class="kw">let </span>f = File::open(<span class="string">"foo.txt"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>buffers = <span class="macro">vec!</span>[Vec::&lt;u8&gt;::with_capacity(<span class="number">10</span>), Vec::&lt;u8&gt;::with_capacity(<span class="number">10</span>)];
<span class="comment">// Read up to 20 bytes
</span><span class="kw">let </span>(res, buffer) = f.readv_at(buffers, <span class="number">0</span>).<span class="kw">await</span>;
<span class="kw">let </span>n = res<span class="question-mark">?</span>;
<span class="macro">println!</span>(<span class="string">"Read {} bytes"</span>, n);
<span class="comment">// Close the file
</span>f.close().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
})
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.writev_at" class="method"><h4 class="code-header">pub async fn <a href="#method.writev_at" class="fn">writev_at</a>&lt;T&gt;(
&amp;self,
buf: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;T&gt;,
pos: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>
) -&gt; (<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;T&gt;)<div class="where">where
T: IoBuf,</div></h4></section></summary><div class="docblock"><p>Write data from buffers into this file at the specified offset,
returning how many bytes were written.</p>
<p>This function will attempt to write the entire contents of <code>bufs</code>, but
the entire write may not succeed, or the write may also generate an
error. The bytes will be written starting at the specified offset.</p>
<h5 id="return-2"><a class="doc-anchor" href="#return-2">§</a>Return</h5>
<p>The method returns the operation result and the same array of buffers passed
in as an argument. A return value of <code>0</code> typically means that the
underlying file is no longer able to accept bytes and will likely not be
able to in the future as well, or that the buffer provided is empty.</p>
<h5 id="errors-2"><a class="doc-anchor" href="#errors-2">§</a>Errors</h5>
<p>Each call to <code>write</code> may generate an I/O error indicating that the
operation could not be completed. If an error is returned then no bytes
in the buffer were written to this writer.</p>
<p>It is <strong>not</strong> considered an error if the entire buffer could not be
written to this writer.</p>
<h5 id="examples-5"><a class="doc-anchor" href="#examples-5">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio_uring::fs::File;
<span class="kw">fn </span>main() -&gt; <span class="prelude-ty">Result</span>&lt;(), Box&lt;<span class="kw">dyn </span>std::error::Error&gt;&gt; {
tokio_uring::start(<span class="kw">async </span>{
<span class="kw">let </span>file = File::create(<span class="string">"foo.txt"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="comment">// Writes some prefix of the byte string, not necessarily all of it.
</span><span class="kw">let </span>bufs = <span class="macro">vec!</span>[<span class="string">"some"</span>.to_owned().into_bytes(), <span class="string">" bytes"</span>.to_owned().into_bytes()];
<span class="kw">let </span>(res, <span class="kw">_</span>) = file.writev_at(bufs, <span class="number">0</span>).<span class="kw">await</span>;
<span class="kw">let </span>n = res<span class="question-mark">?</span>;
<span class="macro">println!</span>(<span class="string">"wrote {} bytes"</span>, n);
<span class="comment">// Close the file
</span>file.close().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
})
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.write_at" class="method"><h4 class="code-header">pub async fn <a href="#method.write_at" class="fn">write_at</a>&lt;T&gt;(&amp;self, buf: T, pos: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -&gt; (<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;, T)<div class="where">where
T: IoBuf,</div></h4></section></summary><div class="docblock"><p>Write a buffer into this file at the specified offset, returning how
many bytes were written.</p>
<p>This function will attempt to write the entire contents of <code>buf</code>, but
the entire write may not succeed, or the write may also generate an
error. The bytes will be written starting at the specified offset.</p>
<h5 id="return-3"><a class="doc-anchor" href="#return-3">§</a>Return</h5>
<p>The method returns the operation result and the same buffer value passed
in as an argument. A return value of <code>0</code> typically means that the
underlying file is no longer able to accept bytes and will likely not be
able to in the future as well, or that the buffer provided is empty.</p>
<h5 id="errors-3"><a class="doc-anchor" href="#errors-3">§</a>Errors</h5>
<p>Each call to <code>write</code> may generate an I/O error indicating that the
operation could not be completed. If an error is returned then no bytes
in the buffer were written to this writer.</p>
<p>It is <strong>not</strong> considered an error if the entire buffer could not be
written to this writer.</p>
<h5 id="examples-6"><a class="doc-anchor" href="#examples-6">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio_uring::fs::File;
<span class="kw">fn </span>main() -&gt; <span class="prelude-ty">Result</span>&lt;(), Box&lt;<span class="kw">dyn </span>std::error::Error&gt;&gt; {
tokio_uring::start(<span class="kw">async </span>{
<span class="kw">let </span>file = File::create(<span class="string">"foo.txt"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="comment">// Writes some prefix of the byte string, not necessarily all of it.
</span><span class="kw">let </span>(res, <span class="kw">_</span>) = file.write_at(<span class="kw-2">&amp;</span><span class="string">b"some bytes"</span>[..], <span class="number">0</span>).<span class="kw">await</span>;
<span class="kw">let </span>n = res<span class="question-mark">?</span>;
<span class="macro">println!</span>(<span class="string">"wrote {} bytes"</span>, n);
<span class="comment">// Close the file
</span>file.close().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
})
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sync_all" class="method"><h4 class="code-header">pub async fn <a href="#method.sync_all" class="fn">sync_all</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to sync all OS-internal metadata to disk.</p>
<p>This function will attempt to ensure that all in-memory data reaches the
filesystem before completing.</p>
<p>This can be used to handle errors that would otherwise only be caught
when the <code>File</code> is closed. Dropping a file will ignore errors in
synchronizing this in-memory data.</p>
<h5 id="examples-7"><a class="doc-anchor" href="#examples-7">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio_uring::fs::File;
<span class="kw">fn </span>main() -&gt; <span class="prelude-ty">Result</span>&lt;(), Box&lt;<span class="kw">dyn </span>std::error::Error&gt;&gt; {
tokio_uring::start(<span class="kw">async </span>{
<span class="kw">let </span>f = File::create(<span class="string">"foo.txt"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>(res, buf) = f.write_at(<span class="kw-2">&amp;</span><span class="string">b"Hello, world!"</span>[..], <span class="number">0</span>).<span class="kw">await</span>;
<span class="kw">let </span>n = res<span class="question-mark">?</span>;
f.sync_all().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="comment">// Close the file
</span>f.close().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
})
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sync_data" class="method"><h4 class="code-header">pub async fn <a href="#method.sync_data" class="fn">sync_data</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to sync file data to disk.</p>
<p>This method is similar to <a href="File::sync_all"><code>sync_all</code></a>, except that it may not
synchronize file metadata to the filesystem.</p>
<p>This is intended for use cases that must synchronize content, but dont
need the metadata on disk. The goal of this method is to reduce disk
operations.</p>
<p>Note that some platforms may simply implement this in terms of
<a href="File::sync_all"><code>sync_all</code></a>.</p>
<h5 id="examples-8"><a class="doc-anchor" href="#examples-8">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tokio_uring::fs::File;
<span class="kw">fn </span>main() -&gt; <span class="prelude-ty">Result</span>&lt;(), Box&lt;<span class="kw">dyn </span>std::error::Error&gt;&gt; {
tokio_uring::start(<span class="kw">async </span>{
<span class="kw">let </span>f = File::create(<span class="string">"foo.txt"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>(res, buf) = f.write_at(<span class="kw-2">&amp;</span><span class="string">b"Hello, world!"</span>[..], <span class="number">0</span>).<span class="kw">await</span>;
<span class="kw">let </span>n = res<span class="question-mark">?</span>;
f.sync_data().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="comment">// Close the file
</span>f.close().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
})
}</code></pre></div>
</div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-NamedFile" class="impl"><a class="src rightside" href="../src/actix_files/named.rs.html#70">source</a><a href="#impl-Debug-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/actix_files/named.rs.html#70">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-NamedFile" class="impl"><a class="src rightside" href="../src/actix_files/named.rs.html#70">source</a><a href="#impl-Deref-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = File</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../src/actix_files/named.rs.html#70">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DerefMut-for-NamedFile" class="impl"><a class="src rightside" href="../src/actix_files/named.rs.html#70">source</a><a href="#impl-DerefMut-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl"><a class="src rightside" href="../src/actix_files/named.rs.html#70">source</a><a href="#method.deref_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" class="fn">deref_mut</a>(&amp;mut self) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Mutably dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-HttpServiceFactory-for-NamedFile" class="impl"><a class="src rightside" href="../src/actix_files/named.rs.html#680-689">source</a><a href="#impl-HttpServiceFactory-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl HttpServiceFactory for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></summary><div class="impl-items"><section id="method.register" class="method trait-impl"><a class="src rightside" href="../src/actix_files/named.rs.html#681-688">source</a><a href="#method.register" class="anchor">§</a><h4 class="code-header">fn <a class="fn">register</a>(self, config: &amp;mut AppService)</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Responder-for-NamedFile" class="impl"><a class="src rightside" href="../src/actix_files/named.rs.html#630-636">source</a><a href="#impl-Responder-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl Responder for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Body" class="associatedtype trait-impl"><a href="#associatedtype.Body" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Body</a> = BoxBody</h4></section><details class="toggle method-toggle" open><summary><section id="method.respond_to" class="method trait-impl"><a class="src rightside" href="../src/actix_files/named.rs.html#633-635">source</a><a href="#method.respond_to" class="anchor">§</a><h4 class="code-header">fn <a class="fn">respond_to</a>(self, req: &amp;HttpRequest) -&gt; HttpResponse&lt;Self::Body&gt;</h4></section></summary><div class='docblock'>Convert self to <code>HttpResponse</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.customize" class="method trait-impl"><a href="#method.customize" class="anchor">§</a><h4 class="code-header">fn <a class="fn">customize</a>(self) -&gt; CustomizeResponder&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Wraps responder to allow alteration of its response. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ServiceFactory%3CServiceRequest%3E-for-NamedFile" class="impl"><a class="src rightside" href="../src/actix_files/named.rs.html#638-653">source</a><a href="#impl-ServiceFactory%3CServiceRequest%3E-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl ServiceFactory&lt;ServiceRequest&gt; for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Response" class="associatedtype trait-impl"><a href="#associatedtype.Response" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Response</a> = ServiceResponse</h4></section></summary><div class='docblock'>Responses given by the created services.</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Error</a> = Error</h4></section></summary><div class='docblock'>Errors produced by the created services.</div></details><details class="toggle" open><summary><section id="associatedtype.Config" class="associatedtype trait-impl"><a href="#associatedtype.Config" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Config</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></summary><div class='docblock'>Service factory configuration.</div></details><details class="toggle" open><summary><section id="associatedtype.Service" class="associatedtype trait-impl"><a href="#associatedtype.Service" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Service</a> = NamedFileService</h4></section></summary><div class='docblock'>The kind of <code>Service</code> created by this factory.</div></details><details class="toggle" open><summary><section id="associatedtype.InitError" class="associatedtype trait-impl"><a href="#associatedtype.InitError" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">InitError</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></summary><div class='docblock'>Errors potentially raised while building a service.</div></details><details class="toggle" open><summary><section id="associatedtype.Future" class="associatedtype trait-impl"><a href="#associatedtype.Future" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Future</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&lt;<a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a> as ServiceFactory&lt;ServiceRequest&gt;&gt;::Service, &lt;<a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a> as ServiceFactory&lt;ServiceRequest&gt;&gt;::InitError&gt;&gt;&gt;&gt;</h4></section></summary><div class='docblock'>The future of the <code>Service</code> instance.g</div></details><details class="toggle method-toggle" open><summary><section id="method.new_service" class="method trait-impl"><a class="src rightside" href="../src/actix_files/named.rs.html#646-652">source</a><a href="#method.new_service" class="anchor">§</a><h4 class="code-header">fn <a class="fn">new_service</a>(&amp;self, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>) -&gt; Self::Future</h4></section></summary><div class='docblock'>Create and return a new service asynchronously.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-NamedFile" class="impl"><a href="#impl-Freeze-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section><section id="impl-RefUnwindSafe-for-NamedFile" class="impl"><a href="#impl-RefUnwindSafe-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section><section id="impl-Send-for-NamedFile" class="impl"><a href="#impl-Send-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section><section id="impl-Sync-for-NamedFile" class="impl"><a href="#impl-Sync-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section><section id="impl-Unpin-for-NamedFile" class="impl"><a href="#impl-Unpin-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section><section id="impl-UnwindSafe-for-NamedFile" class="impl"><a href="#impl-UnwindSafe-for-NamedFile" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.NamedFile.html" title="struct actix_files::NamedFile">NamedFile</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoServiceFactory%3CSF,+Req%3E-for-SF" class="impl"><a href="#impl-IntoServiceFactory%3CSF,+Req%3E-for-SF" class="anchor">§</a><h3 class="code-header">impl&lt;SF, Req&gt; IntoServiceFactory&lt;SF, Req&gt; for SF<div class="where">where
SF: ServiceFactory&lt;Req&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_factory" class="method trait-impl"><a href="#method.into_factory" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_factory</a>(self) -&gt; SF</h4></section></summary><div class='docblock'>Convert <code>Self</code> to a <code>ServiceFactory</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same-for-T" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ServiceFactoryExt%3CReq%3E-for-SF" class="impl"><a href="#impl-ServiceFactoryExt%3CReq%3E-for-SF" class="anchor">§</a><h3 class="code-header">impl&lt;SF, Req&gt; ServiceFactoryExt&lt;Req&gt; for SF<div class="where">where
SF: ServiceFactory&lt;Req&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.map" class="method trait-impl"><a href="#method.map" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map</a>&lt;F, R&gt;(self, f: F) -&gt; MapServiceFactory&lt;Self, F, Req, R&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::Response) -&gt; R + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class='docblock'>Map this services output to a different type, returning a new service
of the resulting type.</div></details><details class="toggle method-toggle" open><summary><section id="method.map_err" class="method trait-impl"><a href="#method.map_err" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map_err</a>&lt;F, E&gt;(self, f: F) -&gt; MapErrServiceFactory&lt;Self, Req, F, E&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::Error) -&gt; E + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class='docblock'>Map this services error to a different error, returning a new service.</div></details><details class="toggle method-toggle" open><summary><section id="method.map_init_err" class="method trait-impl"><a href="#method.map_init_err" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map_init_err</a>&lt;F, E&gt;(self, f: F) -&gt; MapInitErr&lt;Self, F, Req, E&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::InitError) -&gt; E + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class='docblock'>Map this factorys init error to a different error, returning a new service.</div></details><details class="toggle method-toggle" open><summary><section id="method.and_then" class="method trait-impl"><a href="#method.and_then" class="anchor">§</a><h4 class="code-header">fn <a class="fn">and_then</a>&lt;I, SF1&gt;(self, factory: I) -&gt; AndThenServiceFactory&lt;Self, SF1, Req&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
Self::Config: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
I: IntoServiceFactory&lt;SF1, Self::Response&gt;,
SF1: ServiceFactory&lt;Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError&gt;,</div></h4></section></summary><div class='docblock'>Call another service after call to this one has resolved successfully.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<div class="where">where
V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>