1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-23 23:51:06 +01:00

Deploying to gh-pages from @ actix/actix-extras@6d0ab96dfd 🚀

This commit is contained in:
robjtede 2023-11-03 22:49:56 +00:00
parent 76435be8ff
commit e457bbe8e7
42 changed files with 1715 additions and 25 deletions

File diff suppressed because one or more lines are too long

1
actix_ws/all.html Normal file
View File

@ -0,0 +1 @@
<!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="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-9ee3a5e31a2afa3e.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="actix_ws" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (a2f5f9691 2023-11-02)" data-channel="nightly" data-search-js="search-8fbf244ebcf71464.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../static.files/main-9dd44ab47b99a0fb.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc mod sys"><!--[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">&#9776;</button><a class="logo-container" href="../actix_ws/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_ws/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../actix_ws/index.html">actix_ws</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><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" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.CloseReason.html">CloseReason</a></li><li><a href="struct.Closed.html">Closed</a></li><li><a href="struct.MessageStream.html">MessageStream</a></li><li><a href="struct.Session.html">Session</a></li><li><a href="struct.StreamingBody.html">StreamingBody</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.CloseCode.html">CloseCode</a></li><li><a href="enum.Message.html">Message</a></li><li><a href="enum.ProtocolError.html">ProtocolError</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="fn.handle.html">handle</a></li></ul></section></div></main></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

45
actix_ws/fn.handle.html Normal file
View File

@ -0,0 +1,45 @@
<!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="Begin handling websocket traffic"><title>handle in actix_ws - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-9ee3a5e31a2afa3e.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="actix_ws" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (a2f5f9691 2023-11-02)" data-channel="nightly" data-search-js="search-8fbf244ebcf71464.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-9dd44ab47b99a0fb.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc fn"><!--[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">&#9776;</button><a class="logo-container" href="../actix_ws/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_ws/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../actix_ws/index.html">actix_ws</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><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" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">actix_ws</a>::<wbr><a class="fn" href="#">handle</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/actix_ws/lib.rs.html#70-84">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn handle(
req: &amp;HttpRequest,
body: Payload
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(HttpResponse, <a class="struct" href="struct.Session.html" title="struct actix_ws::Session">Session</a>, <a class="struct" href="struct.MessageStream.html" title="struct actix_ws::MessageStream">MessageStream</a>), Error&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Begin handling websocket traffic</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{middleware::Logger, web, App, Error, HttpRequest, HttpResponse, HttpServer};
<span class="kw">use </span>actix_ws::Message;
<span class="kw">use </span>futures::stream::StreamExt <span class="kw">as _</span>;
<span class="kw">async fn </span>ws(req: HttpRequest, body: web::Payload) -&gt; <span class="prelude-ty">Result</span>&lt;HttpResponse, Error&gt; {
<span class="kw">let </span>(response, <span class="kw-2">mut </span>session, <span class="kw-2">mut </span>msg_stream) = actix_ws::handle(<span class="kw-2">&amp;</span>req, body)<span class="question-mark">?</span>;
actix_rt::spawn(<span class="kw">async move </span>{
<span class="kw">while let </span><span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(msg)) = msg_stream.next().<span class="kw">await </span>{
<span class="kw">match </span>msg {
Message::Ping(bytes) =&gt; {
<span class="kw">if </span>session.pong(<span class="kw-2">&amp;</span>bytes).<span class="kw">await</span>.is_err() {
<span class="kw">return</span>;
}
}
Message::Text(s) =&gt; <span class="macro">println!</span>(<span class="string">&quot;Got text, {}&quot;</span>, s),
<span class="kw">_ </span>=&gt; <span class="kw">break</span>,
}
}
<span class="kw">let _ </span>= session.close(<span class="prelude-val">None</span>).<span class="kw">await</span>;
});
<span class="prelude-val">Ok</span>(response)
}
<span class="attr">#[actix_rt::main]
</span><span class="kw">async fn </span>main() -&gt; <span class="prelude-ty">Result</span>&lt;(), anyhow::Error&gt; {
HttpServer::new(<span class="kw">move </span>|| {
App::new()
.wrap(Logger::default())
.route(<span class="string">&quot;/ws&quot;</span>, web::get().to(ws))
})
.bind(<span class="string">&quot;127.0.0.1:8080&quot;</span>)<span class="question-mark">?
</span>.run()
.<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
}</code></pre></div>
</div></details></section></div></main></body></html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../actix_ws/struct.MessageStream.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../actix_ws/struct.MessageStream.html">../../actix_ws/struct.MessageStream.html</a>...</p>
<script>location.replace("../../actix_ws/struct.MessageStream.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../actix_ws/struct.StreamingBody.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../actix_ws/struct.StreamingBody.html">../../actix_ws/struct.StreamingBody.html</a>...</p>
<script>location.replace("../../actix_ws/struct.StreamingBody.html" + location.search + location.hash);</script>
</body>
</html>

4
actix_ws/index.html Normal file
View File

@ -0,0 +1,4 @@
<!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="WebSockets for Actix Web, without actors."><title>actix_ws - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-9ee3a5e31a2afa3e.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="actix_ws" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (a2f5f9691 2023-11-02)" data-channel="nightly" data-search-js="search-8fbf244ebcf71464.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-9dd44ab47b99a0fb.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc mod crate"><!--[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">&#9776;</button><a class="logo-container" href="../actix_ws/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_ws/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../actix_ws/index.html">actix_ws</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"><ul class="block">
<li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><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" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Crate <a class="mod" href="#">actix_ws</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/actix_ws/lib.rs.html#1-84">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>WebSockets for Actix Web, without actors.</p>
<p>For usage, see documentation on <a href="fn.handle.html" title="fn actix_ws::handle"><code>handle()</code></a>.</p>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.CloseReason.html" title="struct actix_ws::CloseReason">CloseReason</a></div><div class="desc docblock-short">Reason for closing the connection</div></li><li><div class="item-name"><a class="struct" href="struct.Closed.html" title="struct actix_ws::Closed">Closed</a></div><div class="desc docblock-short">The error representing a closed websocket session</div></li><li><div class="item-name"><a class="struct" href="struct.MessageStream.html" title="struct actix_ws::MessageStream">MessageStream</a></div><div class="desc docblock-short">A stream of Messages from a websocket client</div></li><li><div class="item-name"><a class="struct" href="struct.Session.html" title="struct actix_ws::Session">Session</a></div><div class="desc docblock-short">A handle into the websocket session.</div></li><li><div class="item-name"><a class="struct" href="struct.StreamingBody.html" title="struct actix_ws::StreamingBody">StreamingBody</a></div><div class="desc docblock-short">A response body for Websocket HTTP Requests</div></li></ul><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.CloseCode.html" title="enum actix_ws::CloseCode">CloseCode</a></div><div class="desc docblock-short">Status code used to indicate why an endpoint is closing the WebSocket connection.</div></li><li><div class="item-name"><a class="enum" href="enum.Message.html" title="enum actix_ws::Message">Message</a></div><div class="desc docblock-short">A WebSocket message.</div></li><li><div class="item-name"><a class="enum" href="enum.ProtocolError.html" title="enum actix_ws::ProtocolError">ProtocolError</a></div><div class="desc docblock-short">WebSocket protocol errors.</div></li></ul><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.handle.html" title="fn actix_ws::handle">handle</a></div><div class="desc docblock-short">Begin handling websocket traffic</div></li></ul></section></div></main></body></html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../actix_ws/struct.Closed.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../actix_ws/struct.Closed.html">../../actix_ws/struct.Closed.html</a>...</p>
<script>location.replace("../../actix_ws/struct.Closed.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../actix_ws/struct.Session.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../actix_ws/struct.Session.html">../../actix_ws/struct.Session.html</a>...</p>
<script>location.replace("../../actix_ws/struct.Session.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["CloseCode","Message","ProtocolError"],"fn":["handle"],"struct":["CloseReason","Closed","MessageStream","Session","StreamingBody"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
window.ALL_CRATES = ["actix_cors","actix_identity","actix_limitation","actix_protobuf","actix_redis","actix_session","actix_settings","actix_web_httpauth"];
window.ALL_CRATES = ["actix_cors","actix_identity","actix_limitation","actix_protobuf","actix_redis","actix_session","actix_settings","actix_web_httpauth","actix_ws"];

File diff suppressed because one or more lines are too long

View File

@ -6,6 +6,7 @@ var srcIndex = JSON.parse('{\
"actix_redis":["",[],["lib.rs","redis.rs"]],\
"actix_session":["",[["storage",[],["cookie.rs","interface.rs","mod.rs","redis_actor.rs","redis_rs.rs","session_key.rs","utils.rs"]]],["config.rs","lib.rs","middleware.rs","session.rs","session_ext.rs"]],\
"actix_settings":["",[["settings",[],["address.rs","backlog.rs","keep_alive.rs","max_connection_rate.rs","max_connections.rs","mod.rs","mode.rs","num_workers.rs","timeout.rs","tls.rs"]]],["error.rs","lib.rs","parse.rs"]],\
"actix_web_httpauth":["",[["extractors",[],["basic.rs","bearer.rs","config.rs","errors.rs","mod.rs"]],["headers",[["authorization",[["scheme",[],["basic.rs","bearer.rs","mod.rs"]]],["errors.rs","header.rs","mod.rs"]],["www_authenticate",[["challenge",[["bearer",[],["builder.rs","challenge.rs","errors.rs","mod.rs"]]],["basic.rs","mod.rs"]]],["header.rs","mod.rs"]]],["mod.rs"]]],["lib.rs","middleware.rs","utils.rs"]]\
"actix_web_httpauth":["",[["extractors",[],["basic.rs","bearer.rs","config.rs","errors.rs","mod.rs"]],["headers",[["authorization",[["scheme",[],["basic.rs","bearer.rs","mod.rs"]]],["errors.rs","header.rs","mod.rs"]],["www_authenticate",[["challenge",[["bearer",[],["builder.rs","challenge.rs","errors.rs","mod.rs"]]],["basic.rs","mod.rs"]]],["header.rs","mod.rs"]]],["mod.rs"]]],["lib.rs","middleware.rs","utils.rs"]],\
"actix_ws":["",[],["fut.rs","lib.rs","session.rs"]]\
}');
createSrcSidebar();

367
src/actix_ws/fut.rs.html Normal file
View File

@ -0,0 +1,367 @@
<!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="Source of the Rust file `actix-ws/src/fut.rs`."><title>fut.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-9ee3a5e31a2afa3e.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_ws" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (a2f5f9691 2023-11-02)" data-channel="nightly" data-search-js="search-8fbf244ebcf71464.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-9dd44ab47b99a0fb.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../actix_ws/index.html"><img src="https://actix.rs/img/logo.png" alt="actix_ws"></a><form class="search-form"><span></span><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" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
<a href="#8" id="8">8</a>
<a href="#9" id="9">9</a>
<a href="#10" id="10">10</a>
<a href="#11" id="11">11</a>
<a href="#12" id="12">12</a>
<a href="#13" id="13">13</a>
<a href="#14" id="14">14</a>
<a href="#15" id="15">15</a>
<a href="#16" id="16">16</a>
<a href="#17" id="17">17</a>
<a href="#18" id="18">18</a>
<a href="#19" id="19">19</a>
<a href="#20" id="20">20</a>
<a href="#21" id="21">21</a>
<a href="#22" id="22">22</a>
<a href="#23" id="23">23</a>
<a href="#24" id="24">24</a>
<a href="#25" id="25">25</a>
<a href="#26" id="26">26</a>
<a href="#27" id="27">27</a>
<a href="#28" id="28">28</a>
<a href="#29" id="29">29</a>
<a href="#30" id="30">30</a>
<a href="#31" id="31">31</a>
<a href="#32" id="32">32</a>
<a href="#33" id="33">33</a>
<a href="#34" id="34">34</a>
<a href="#35" id="35">35</a>
<a href="#36" id="36">36</a>
<a href="#37" id="37">37</a>
<a href="#38" id="38">38</a>
<a href="#39" id="39">39</a>
<a href="#40" id="40">40</a>
<a href="#41" id="41">41</a>
<a href="#42" id="42">42</a>
<a href="#43" id="43">43</a>
<a href="#44" id="44">44</a>
<a href="#45" id="45">45</a>
<a href="#46" id="46">46</a>
<a href="#47" id="47">47</a>
<a href="#48" id="48">48</a>
<a href="#49" id="49">49</a>
<a href="#50" id="50">50</a>
<a href="#51" id="51">51</a>
<a href="#52" id="52">52</a>
<a href="#53" id="53">53</a>
<a href="#54" id="54">54</a>
<a href="#55" id="55">55</a>
<a href="#56" id="56">56</a>
<a href="#57" id="57">57</a>
<a href="#58" id="58">58</a>
<a href="#59" id="59">59</a>
<a href="#60" id="60">60</a>
<a href="#61" id="61">61</a>
<a href="#62" id="62">62</a>
<a href="#63" id="63">63</a>
<a href="#64" id="64">64</a>
<a href="#65" id="65">65</a>
<a href="#66" id="66">66</a>
<a href="#67" id="67">67</a>
<a href="#68" id="68">68</a>
<a href="#69" id="69">69</a>
<a href="#70" id="70">70</a>
<a href="#71" id="71">71</a>
<a href="#72" id="72">72</a>
<a href="#73" id="73">73</a>
<a href="#74" id="74">74</a>
<a href="#75" id="75">75</a>
<a href="#76" id="76">76</a>
<a href="#77" id="77">77</a>
<a href="#78" id="78">78</a>
<a href="#79" id="79">79</a>
<a href="#80" id="80">80</a>
<a href="#81" id="81">81</a>
<a href="#82" id="82">82</a>
<a href="#83" id="83">83</a>
<a href="#84" id="84">84</a>
<a href="#85" id="85">85</a>
<a href="#86" id="86">86</a>
<a href="#87" id="87">87</a>
<a href="#88" id="88">88</a>
<a href="#89" id="89">89</a>
<a href="#90" id="90">90</a>
<a href="#91" id="91">91</a>
<a href="#92" id="92">92</a>
<a href="#93" id="93">93</a>
<a href="#94" id="94">94</a>
<a href="#95" id="95">95</a>
<a href="#96" id="96">96</a>
<a href="#97" id="97">97</a>
<a href="#98" id="98">98</a>
<a href="#99" id="99">99</a>
<a href="#100" id="100">100</a>
<a href="#101" id="101">101</a>
<a href="#102" id="102">102</a>
<a href="#103" id="103">103</a>
<a href="#104" id="104">104</a>
<a href="#105" id="105">105</a>
<a href="#106" id="106">106</a>
<a href="#107" id="107">107</a>
<a href="#108" id="108">108</a>
<a href="#109" id="109">109</a>
<a href="#110" id="110">110</a>
<a href="#111" id="111">111</a>
<a href="#112" id="112">112</a>
<a href="#113" id="113">113</a>
<a href="#114" id="114">114</a>
<a href="#115" id="115">115</a>
<a href="#116" id="116">116</a>
<a href="#117" id="117">117</a>
<a href="#118" id="118">118</a>
<a href="#119" id="119">119</a>
<a href="#120" id="120">120</a>
<a href="#121" id="121">121</a>
<a href="#122" id="122">122</a>
<a href="#123" id="123">123</a>
<a href="#124" id="124">124</a>
<a href="#125" id="125">125</a>
<a href="#126" id="126">126</a>
<a href="#127" id="127">127</a>
<a href="#128" id="128">128</a>
<a href="#129" id="129">129</a>
<a href="#130" id="130">130</a>
<a href="#131" id="131">131</a>
<a href="#132" id="132">132</a>
<a href="#133" id="133">133</a>
<a href="#134" id="134">134</a>
<a href="#135" id="135">135</a>
<a href="#136" id="136">136</a>
<a href="#137" id="137">137</a>
<a href="#138" id="138">138</a>
<a href="#139" id="139">139</a>
<a href="#140" id="140">140</a>
<a href="#141" id="141">141</a>
<a href="#142" id="142">142</a>
<a href="#143" id="143">143</a>
<a href="#144" id="144">144</a>
<a href="#145" id="145">145</a>
<a href="#146" id="146">146</a>
<a href="#147" id="147">147</a>
<a href="#148" id="148">148</a>
<a href="#149" id="149">149</a>
<a href="#150" id="150">150</a>
<a href="#151" id="151">151</a>
<a href="#152" id="152">152</a>
<a href="#153" id="153">153</a>
<a href="#154" id="154">154</a>
<a href="#155" id="155">155</a>
<a href="#156" id="156">156</a>
<a href="#157" id="157">157</a>
<a href="#158" id="158">158</a>
<a href="#159" id="159">159</a>
<a href="#160" id="160">160</a>
<a href="#161" id="161">161</a>
<a href="#162" id="162">162</a>
<a href="#163" id="163">163</a>
<a href="#164" id="164">164</a>
<a href="#165" id="165">165</a>
<a href="#166" id="166">166</a>
<a href="#167" id="167">167</a>
<a href="#168" id="168">168</a>
<a href="#169" id="169">169</a>
<a href="#170" id="170">170</a>
<a href="#171" id="171">171</a>
<a href="#172" id="172">172</a>
<a href="#173" id="173">173</a>
<a href="#174" id="174">174</a>
<a href="#175" id="175">175</a>
<a href="#176" id="176">176</a>
<a href="#177" id="177">177</a>
<a href="#178" id="178">178</a>
<a href="#179" id="179">179</a>
<a href="#180" id="180">180</a>
<a href="#181" id="181">181</a>
<a href="#182" id="182">182</a>
<a href="#183" id="183">183</a>
</pre></div><pre class="rust"><code><span class="kw">use </span>std::{
collections::VecDeque,
future::poll_fn,
io,
pin::Pin,
task::{Context, Poll},
};
<span class="kw">use </span>actix_codec::{Decoder, Encoder};
<span class="kw">use </span>actix_http::{
ws::{Codec, Frame, Message, ProtocolError},
Payload,
};
<span class="kw">use </span>actix_web::{
web::{Bytes, BytesMut},
Error,
};
<span class="kw">use </span>futures_core::stream::Stream;
<span class="kw">use </span>tokio::sync::mpsc::Receiver;
<span class="doccomment">/// A response body for Websocket HTTP Requests
</span><span class="kw">pub struct </span>StreamingBody {
session_rx: Receiver&lt;Message&gt;,
messages: VecDeque&lt;Message&gt;,
buf: BytesMut,
codec: Codec,
closing: bool,
}
<span class="doccomment">/// A stream of Messages from a websocket client
///
/// Messages can be accessed via the stream&#39;s `.next()` method
</span><span class="kw">pub struct </span>MessageStream {
payload: Payload,
messages: VecDeque&lt;Message&gt;,
buf: BytesMut,
codec: Codec,
closing: bool,
}
<span class="kw">impl </span>StreamingBody {
<span class="kw">pub</span>(<span class="kw">super</span>) <span class="kw">fn </span>new(session_rx: Receiver&lt;Message&gt;) -&gt; <span class="self">Self </span>{
StreamingBody {
session_rx,
messages: VecDeque::new(),
buf: BytesMut::new(),
codec: Codec::new(),
closing: <span class="bool-val">false</span>,
}
}
}
<span class="kw">impl </span>MessageStream {
<span class="kw">pub</span>(<span class="kw">super</span>) <span class="kw">fn </span>new(payload: Payload) -&gt; <span class="self">Self </span>{
MessageStream {
payload,
messages: VecDeque::new(),
buf: BytesMut::new(),
codec: Codec::new(),
closing: <span class="bool-val">false</span>,
}
}
<span class="doccomment">/// Wait for the next item from the message stream
///
/// ```rust,ignore
/// while let Some(Ok(msg)) = stream.recv().await {
/// // handle message
/// }
/// ```
</span><span class="kw">pub async fn </span>recv(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Option</span>&lt;<span class="prelude-ty">Result</span>&lt;Message, ProtocolError&gt;&gt; {
poll_fn(|cx| Pin::new(<span class="kw-2">&amp;mut *</span><span class="self">self</span>).poll_next(cx)).<span class="kw">await
</span>}
}
<span class="kw">impl </span>Stream <span class="kw">for </span>StreamingBody {
<span class="kw">type </span>Item = <span class="prelude-ty">Result</span>&lt;Bytes, Error&gt;;
<span class="kw">fn </span>poll_next(<span class="self">self</span>: Pin&lt;<span class="kw-2">&amp;mut </span><span class="self">Self</span>&gt;, cx: <span class="kw-2">&amp;mut </span>Context&lt;<span class="lifetime">&#39;_</span>&gt;) -&gt; Poll&lt;<span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>::Item&gt;&gt; {
<span class="kw">let </span>this = <span class="self">self</span>.get_mut();
<span class="kw">if </span>this.closing {
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">None</span>);
}
<span class="kw">loop </span>{
<span class="kw">match </span>Pin::new(<span class="kw-2">&amp;mut </span>this.session_rx).poll_recv(cx) {
Poll::Ready(<span class="prelude-val">Some</span>(msg)) =&gt; {
this.messages.push_back(msg);
}
Poll::Ready(<span class="prelude-val">None</span>) =&gt; {
this.closing = <span class="bool-val">true</span>;
<span class="kw">break</span>;
}
Poll::Pending =&gt; <span class="kw">break</span>,
}
}
<span class="kw">while let </span><span class="prelude-val">Some</span>(msg) = this.messages.pop_front() {
<span class="kw">if let </span><span class="prelude-val">Err</span>(e) = this.codec.encode(msg, <span class="kw-2">&amp;mut </span>this.buf) {
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(e.into())));
}
}
<span class="kw">if </span>!this.buf.is_empty() {
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(this.buf.split().freeze())));
}
Poll::Pending
}
}
<span class="kw">impl </span>Stream <span class="kw">for </span>MessageStream {
<span class="kw">type </span>Item = <span class="prelude-ty">Result</span>&lt;Message, ProtocolError&gt;;
<span class="kw">fn </span>poll_next(<span class="self">self</span>: Pin&lt;<span class="kw-2">&amp;mut </span><span class="self">Self</span>&gt;, cx: <span class="kw-2">&amp;mut </span>Context&lt;<span class="lifetime">&#39;_</span>&gt;) -&gt; Poll&lt;<span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>::Item&gt;&gt; {
<span class="kw">let </span>this = <span class="self">self</span>.get_mut();
<span class="comment">// Return the first message in the queue if one exists
//
// This is faster than polling and parsing
</span><span class="kw">if let </span><span class="prelude-val">Some</span>(msg) = this.messages.pop_front() {
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(msg)));
}
<span class="kw">if </span>!this.closing {
<span class="comment">// Read in bytes until there&#39;s nothing left to read
</span><span class="kw">loop </span>{
<span class="kw">match </span>Pin::new(<span class="kw-2">&amp;mut </span>this.payload).poll_next(cx) {
Poll::Ready(<span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(bytes))) =&gt; {
this.buf.extend_from_slice(<span class="kw-2">&amp;</span>bytes);
}
Poll::Ready(<span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(e))) =&gt; {
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(ProtocolError::Io(io::Error::new(
io::ErrorKind::Other,
e.to_string(),
)))));
}
Poll::Ready(<span class="prelude-val">None</span>) =&gt; {
this.closing = <span class="bool-val">true</span>;
<span class="kw">break</span>;
}
Poll::Pending =&gt; <span class="kw">break</span>,
}
}
}
<span class="comment">// Create messages until there&#39;s no more bytes left
</span><span class="kw">while let </span><span class="prelude-val">Some</span>(frame) = this.codec.decode(<span class="kw-2">&amp;mut </span>this.buf)<span class="question-mark">? </span>{
<span class="kw">let </span>message = <span class="kw">match </span>frame {
Frame::Text(bytes) =&gt; {
<span class="kw">let </span>s = std::str::from_utf8(<span class="kw-2">&amp;</span>bytes)
.map_err(|e| {
ProtocolError::Io(io::Error::new(io::ErrorKind::Other, e.to_string()))
})<span class="question-mark">?
</span>.to_string();
Message::Text(s.into())
}
Frame::Binary(bytes) =&gt; Message::Binary(bytes),
Frame::Ping(bytes) =&gt; Message::Ping(bytes),
Frame::Pong(bytes) =&gt; Message::Pong(bytes),
Frame::Close(reason) =&gt; Message::Close(reason),
Frame::Continuation(item) =&gt; Message::Continuation(item),
};
this.messages.push_back(message);
}
<span class="comment">// Return the first message in the queue
</span><span class="kw">if let </span><span class="prelude-val">Some</span>(msg) = this.messages.pop_front() {
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(msg)));
}
<span class="comment">// If we&#39;ve exhausted our message queue and we&#39;re closing, close the stream
</span><span class="kw">if </span>this.closing {
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">None</span>);
}
Poll::Pending
}
}
</code></pre></div></section></main></body></html>

169
src/actix_ws/lib.rs.html Normal file
View File

@ -0,0 +1,169 @@
<!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="Source of the Rust file `actix-ws/src/lib.rs`."><title>lib.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-9ee3a5e31a2afa3e.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_ws" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (a2f5f9691 2023-11-02)" data-channel="nightly" data-search-js="search-8fbf244ebcf71464.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-9dd44ab47b99a0fb.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../actix_ws/index.html"><img src="https://actix.rs/img/logo.png" alt="actix_ws"></a><form class="search-form"><span></span><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" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
<a href="#8" id="8">8</a>
<a href="#9" id="9">9</a>
<a href="#10" id="10">10</a>
<a href="#11" id="11">11</a>
<a href="#12" id="12">12</a>
<a href="#13" id="13">13</a>
<a href="#14" id="14">14</a>
<a href="#15" id="15">15</a>
<a href="#16" id="16">16</a>
<a href="#17" id="17">17</a>
<a href="#18" id="18">18</a>
<a href="#19" id="19">19</a>
<a href="#20" id="20">20</a>
<a href="#21" id="21">21</a>
<a href="#22" id="22">22</a>
<a href="#23" id="23">23</a>
<a href="#24" id="24">24</a>
<a href="#25" id="25">25</a>
<a href="#26" id="26">26</a>
<a href="#27" id="27">27</a>
<a href="#28" id="28">28</a>
<a href="#29" id="29">29</a>
<a href="#30" id="30">30</a>
<a href="#31" id="31">31</a>
<a href="#32" id="32">32</a>
<a href="#33" id="33">33</a>
<a href="#34" id="34">34</a>
<a href="#35" id="35">35</a>
<a href="#36" id="36">36</a>
<a href="#37" id="37">37</a>
<a href="#38" id="38">38</a>
<a href="#39" id="39">39</a>
<a href="#40" id="40">40</a>
<a href="#41" id="41">41</a>
<a href="#42" id="42">42</a>
<a href="#43" id="43">43</a>
<a href="#44" id="44">44</a>
<a href="#45" id="45">45</a>
<a href="#46" id="46">46</a>
<a href="#47" id="47">47</a>
<a href="#48" id="48">48</a>
<a href="#49" id="49">49</a>
<a href="#50" id="50">50</a>
<a href="#51" id="51">51</a>
<a href="#52" id="52">52</a>
<a href="#53" id="53">53</a>
<a href="#54" id="54">54</a>
<a href="#55" id="55">55</a>
<a href="#56" id="56">56</a>
<a href="#57" id="57">57</a>
<a href="#58" id="58">58</a>
<a href="#59" id="59">59</a>
<a href="#60" id="60">60</a>
<a href="#61" id="61">61</a>
<a href="#62" id="62">62</a>
<a href="#63" id="63">63</a>
<a href="#64" id="64">64</a>
<a href="#65" id="65">65</a>
<a href="#66" id="66">66</a>
<a href="#67" id="67">67</a>
<a href="#68" id="68">68</a>
<a href="#69" id="69">69</a>
<a href="#70" id="70">70</a>
<a href="#71" id="71">71</a>
<a href="#72" id="72">72</a>
<a href="#73" id="73">73</a>
<a href="#74" id="74">74</a>
<a href="#75" id="75">75</a>
<a href="#76" id="76">76</a>
<a href="#77" id="77">77</a>
<a href="#78" id="78">78</a>
<a href="#79" id="79">79</a>
<a href="#80" id="80">80</a>
<a href="#81" id="81">81</a>
<a href="#82" id="82">82</a>
<a href="#83" id="83">83</a>
<a href="#84" id="84">84</a>
</pre></div><pre class="rust"><code><span class="doccomment">//! WebSockets for Actix Web, without actors.
//!
//! For usage, see documentation on [`handle()`].
</span><span class="attr">#![deny(rust_2018_idioms, nonstandard_style, future_incompatible)]
#![warn(missing_docs)]
#![doc(html_logo_url = <span class="string">&quot;https://actix.rs/img/logo.png&quot;</span>)]
#![doc(html_favicon_url = <span class="string">&quot;https://actix.rs/favicon.ico&quot;</span>)]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
</span><span class="kw">pub use </span>actix_http::ws::{CloseCode, CloseReason, Message, ProtocolError};
<span class="kw">use </span>actix_http::{
body::{BodyStream, MessageBody},
ws::handshake,
};
<span class="kw">use </span>actix_web::{web, HttpRequest, HttpResponse};
<span class="kw">use </span>tokio::sync::mpsc::channel;
<span class="kw">mod </span>fut;
<span class="kw">mod </span>session;
<span class="kw">pub use </span><span class="self">self</span>::{
fut::{MessageStream, StreamingBody},
session::{Closed, Session},
};
<span class="doccomment">/// Begin handling websocket traffic
///
/// ```no_run
/// use actix_web::{middleware::Logger, web, App, Error, HttpRequest, HttpResponse, HttpServer};
/// use actix_ws::Message;
/// use futures::stream::StreamExt as _;
///
/// async fn ws(req: HttpRequest, body: web::Payload) -&gt; Result&lt;HttpResponse, Error&gt; {
/// let (response, mut session, mut msg_stream) = actix_ws::handle(&amp;req, body)?;
///
/// actix_rt::spawn(async move {
/// while let Some(Ok(msg)) = msg_stream.next().await {
/// match msg {
/// Message::Ping(bytes) =&gt; {
/// if session.pong(&amp;bytes).await.is_err() {
/// return;
/// }
/// }
/// Message::Text(s) =&gt; println!(&quot;Got text, {}&quot;, s),
/// _ =&gt; break,
/// }
/// }
///
/// let _ = session.close(None).await;
/// });
///
/// Ok(response)
/// }
///
/// #[actix_rt::main]
/// async fn main() -&gt; Result&lt;(), anyhow::Error&gt; {
/// HttpServer::new(move || {
/// App::new()
/// .wrap(Logger::default())
/// .route(&quot;/ws&quot;, web::get().to(ws))
/// })
/// .bind(&quot;127.0.0.1:8080&quot;)?
/// .run()
/// .await?;
///
/// Ok(())
/// }
/// ```
</span><span class="kw">pub fn </span>handle(
req: <span class="kw-2">&amp;</span>HttpRequest,
body: web::Payload,
) -&gt; <span class="prelude-ty">Result</span>&lt;(HttpResponse, Session, MessageStream), actix_web::Error&gt; {
<span class="kw">let </span><span class="kw-2">mut </span>response = handshake(req.head())<span class="question-mark">?</span>;
<span class="kw">let </span>(tx, rx) = channel(<span class="number">32</span>);
<span class="prelude-val">Ok</span>((
response
.message_body(BodyStream::new(StreamingBody::new(rx)).boxed())<span class="question-mark">?
</span>.into(),
Session::new(tx),
MessageStream::new(body.into_inner()),
))
}
</code></pre></div></section></main></body></html>

View File

@ -0,0 +1,287 @@
<!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="Source of the Rust file `actix-ws/src/session.rs`."><title>session.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-9ee3a5e31a2afa3e.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_ws" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (a2f5f9691 2023-11-02)" data-channel="nightly" data-search-js="search-8fbf244ebcf71464.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-9dd44ab47b99a0fb.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../actix_ws/index.html"><img src="https://actix.rs/img/logo.png" alt="actix_ws"></a><form class="search-form"><span></span><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" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
<a href="#8" id="8">8</a>
<a href="#9" id="9">9</a>
<a href="#10" id="10">10</a>
<a href="#11" id="11">11</a>
<a href="#12" id="12">12</a>
<a href="#13" id="13">13</a>
<a href="#14" id="14">14</a>
<a href="#15" id="15">15</a>
<a href="#16" id="16">16</a>
<a href="#17" id="17">17</a>
<a href="#18" id="18">18</a>
<a href="#19" id="19">19</a>
<a href="#20" id="20">20</a>
<a href="#21" id="21">21</a>
<a href="#22" id="22">22</a>
<a href="#23" id="23">23</a>
<a href="#24" id="24">24</a>
<a href="#25" id="25">25</a>
<a href="#26" id="26">26</a>
<a href="#27" id="27">27</a>
<a href="#28" id="28">28</a>
<a href="#29" id="29">29</a>
<a href="#30" id="30">30</a>
<a href="#31" id="31">31</a>
<a href="#32" id="32">32</a>
<a href="#33" id="33">33</a>
<a href="#34" id="34">34</a>
<a href="#35" id="35">35</a>
<a href="#36" id="36">36</a>
<a href="#37" id="37">37</a>
<a href="#38" id="38">38</a>
<a href="#39" id="39">39</a>
<a href="#40" id="40">40</a>
<a href="#41" id="41">41</a>
<a href="#42" id="42">42</a>
<a href="#43" id="43">43</a>
<a href="#44" id="44">44</a>
<a href="#45" id="45">45</a>
<a href="#46" id="46">46</a>
<a href="#47" id="47">47</a>
<a href="#48" id="48">48</a>
<a href="#49" id="49">49</a>
<a href="#50" id="50">50</a>
<a href="#51" id="51">51</a>
<a href="#52" id="52">52</a>
<a href="#53" id="53">53</a>
<a href="#54" id="54">54</a>
<a href="#55" id="55">55</a>
<a href="#56" id="56">56</a>
<a href="#57" id="57">57</a>
<a href="#58" id="58">58</a>
<a href="#59" id="59">59</a>
<a href="#60" id="60">60</a>
<a href="#61" id="61">61</a>
<a href="#62" id="62">62</a>
<a href="#63" id="63">63</a>
<a href="#64" id="64">64</a>
<a href="#65" id="65">65</a>
<a href="#66" id="66">66</a>
<a href="#67" id="67">67</a>
<a href="#68" id="68">68</a>
<a href="#69" id="69">69</a>
<a href="#70" id="70">70</a>
<a href="#71" id="71">71</a>
<a href="#72" id="72">72</a>
<a href="#73" id="73">73</a>
<a href="#74" id="74">74</a>
<a href="#75" id="75">75</a>
<a href="#76" id="76">76</a>
<a href="#77" id="77">77</a>
<a href="#78" id="78">78</a>
<a href="#79" id="79">79</a>
<a href="#80" id="80">80</a>
<a href="#81" id="81">81</a>
<a href="#82" id="82">82</a>
<a href="#83" id="83">83</a>
<a href="#84" id="84">84</a>
<a href="#85" id="85">85</a>
<a href="#86" id="86">86</a>
<a href="#87" id="87">87</a>
<a href="#88" id="88">88</a>
<a href="#89" id="89">89</a>
<a href="#90" id="90">90</a>
<a href="#91" id="91">91</a>
<a href="#92" id="92">92</a>
<a href="#93" id="93">93</a>
<a href="#94" id="94">94</a>
<a href="#95" id="95">95</a>
<a href="#96" id="96">96</a>
<a href="#97" id="97">97</a>
<a href="#98" id="98">98</a>
<a href="#99" id="99">99</a>
<a href="#100" id="100">100</a>
<a href="#101" id="101">101</a>
<a href="#102" id="102">102</a>
<a href="#103" id="103">103</a>
<a href="#104" id="104">104</a>
<a href="#105" id="105">105</a>
<a href="#106" id="106">106</a>
<a href="#107" id="107">107</a>
<a href="#108" id="108">108</a>
<a href="#109" id="109">109</a>
<a href="#110" id="110">110</a>
<a href="#111" id="111">111</a>
<a href="#112" id="112">112</a>
<a href="#113" id="113">113</a>
<a href="#114" id="114">114</a>
<a href="#115" id="115">115</a>
<a href="#116" id="116">116</a>
<a href="#117" id="117">117</a>
<a href="#118" id="118">118</a>
<a href="#119" id="119">119</a>
<a href="#120" id="120">120</a>
<a href="#121" id="121">121</a>
<a href="#122" id="122">122</a>
<a href="#123" id="123">123</a>
<a href="#124" id="124">124</a>
<a href="#125" id="125">125</a>
<a href="#126" id="126">126</a>
<a href="#127" id="127">127</a>
<a href="#128" id="128">128</a>
<a href="#129" id="129">129</a>
<a href="#130" id="130">130</a>
<a href="#131" id="131">131</a>
<a href="#132" id="132">132</a>
<a href="#133" id="133">133</a>
<a href="#134" id="134">134</a>
<a href="#135" id="135">135</a>
<a href="#136" id="136">136</a>
<a href="#137" id="137">137</a>
<a href="#138" id="138">138</a>
<a href="#139" id="139">139</a>
<a href="#140" id="140">140</a>
<a href="#141" id="141">141</a>
<a href="#142" id="142">142</a>
<a href="#143" id="143">143</a>
</pre></div><pre class="rust"><code><span class="kw">use </span>std::sync::{
atomic::{AtomicBool, Ordering},
Arc,
};
<span class="kw">use </span>actix_http::ws::{CloseReason, Message};
<span class="kw">use </span>actix_web::web::Bytes;
<span class="kw">use </span>bytestring::ByteString;
<span class="kw">use </span>tokio::sync::mpsc::Sender;
<span class="doccomment">/// A handle into the websocket session.
///
/// This type can be used to send messages into the websocket.
</span><span class="attr">#[derive(Clone)]
</span><span class="kw">pub struct </span>Session {
inner: <span class="prelude-ty">Option</span>&lt;Sender&lt;Message&gt;&gt;,
closed: Arc&lt;AtomicBool&gt;,
}
<span class="doccomment">/// The error representing a closed websocket session
</span><span class="attr">#[derive(Debug)]
</span><span class="kw">pub struct </span>Closed;
<span class="kw">impl </span>std::fmt::Display <span class="kw">for </span>Closed {
<span class="kw">fn </span>fmt(<span class="kw-2">&amp;</span><span class="self">self</span>, f: <span class="kw-2">&amp;mut </span>std::fmt::Formatter&lt;<span class="lifetime">&#39;_</span>&gt;) -&gt; std::fmt::Result {
<span class="macro">write!</span>(f, <span class="string">&quot;Session is closed&quot;</span>)
}
}
<span class="kw">impl </span>std::error::Error <span class="kw">for </span>Closed {}
<span class="kw">impl </span>Session {
<span class="kw">pub</span>(<span class="kw">super</span>) <span class="kw">fn </span>new(inner: Sender&lt;Message&gt;) -&gt; <span class="self">Self </span>{
Session {
inner: <span class="prelude-val">Some</span>(inner),
closed: Arc::new(AtomicBool::new(<span class="bool-val">false</span>)),
}
}
<span class="kw">fn </span>pre_check(<span class="kw-2">&amp;mut </span><span class="self">self</span>) {
<span class="kw">if </span><span class="self">self</span>.closed.load(Ordering::Relaxed) {
<span class="self">self</span>.inner.take();
}
}
<span class="doccomment">/// Send text into the websocket
///
/// ```rust,ignore
/// if session.text(&quot;Some text&quot;).await.is_err() {
/// // session closed
/// }
/// ```
</span><span class="kw">pub async fn </span>text(<span class="kw-2">&amp;mut </span><span class="self">self</span>, msg: <span class="kw">impl </span>Into&lt;ByteString&gt;) -&gt; <span class="prelude-ty">Result</span>&lt;(), Closed&gt; {
<span class="self">self</span>.pre_check();
<span class="kw">if let </span><span class="prelude-val">Some</span>(inner) = <span class="self">self</span>.inner.as_mut() {
inner
.send(Message::Text(msg.into()))
.<span class="kw">await
</span>.map_err(|<span class="kw">_</span>| Closed)
} <span class="kw">else </span>{
<span class="prelude-val">Err</span>(Closed)
}
}
<span class="doccomment">/// Send raw bytes into the websocket
///
/// ```rust,ignore
/// if session.binary(b&quot;some bytes&quot;).await.is_err() {
/// // session closed
/// }
/// ```
</span><span class="kw">pub async fn </span>binary(<span class="kw-2">&amp;mut </span><span class="self">self</span>, msg: <span class="kw">impl </span>Into&lt;Bytes&gt;) -&gt; <span class="prelude-ty">Result</span>&lt;(), Closed&gt; {
<span class="self">self</span>.pre_check();
<span class="kw">if let </span><span class="prelude-val">Some</span>(inner) = <span class="self">self</span>.inner.as_mut() {
inner
.send(Message::Binary(msg.into()))
.<span class="kw">await
</span>.map_err(|<span class="kw">_</span>| Closed)
} <span class="kw">else </span>{
<span class="prelude-val">Err</span>(Closed)
}
}
<span class="doccomment">/// Ping the client
///
/// For many applications, it will be important to send regular pings to keep track of if the
/// client has disconnected
///
/// ```rust,ignore
/// if session.ping(b&quot;&quot;).await.is_err() {
/// // session is closed
/// }
/// ```
</span><span class="kw">pub async fn </span>ping(<span class="kw-2">&amp;mut </span><span class="self">self</span>, msg: <span class="kw-2">&amp;</span>[u8]) -&gt; <span class="prelude-ty">Result</span>&lt;(), Closed&gt; {
<span class="self">self</span>.pre_check();
<span class="kw">if let </span><span class="prelude-val">Some</span>(inner) = <span class="self">self</span>.inner.as_mut() {
inner
.send(Message::Ping(Bytes::copy_from_slice(msg)))
.<span class="kw">await
</span>.map_err(|<span class="kw">_</span>| Closed)
} <span class="kw">else </span>{
<span class="prelude-val">Err</span>(Closed)
}
}
<span class="doccomment">/// Pong the client
///
/// ```rust,ignore
/// match msg {
/// Message::Ping(bytes) =&gt; {
/// let _ = session.pong(&amp;bytes).await;
/// }
/// _ =&gt; (),
/// }
</span><span class="kw">pub async fn </span>pong(<span class="kw-2">&amp;mut </span><span class="self">self</span>, msg: <span class="kw-2">&amp;</span>[u8]) -&gt; <span class="prelude-ty">Result</span>&lt;(), Closed&gt; {
<span class="self">self</span>.pre_check();
<span class="kw">if let </span><span class="prelude-val">Some</span>(inner) = <span class="self">self</span>.inner.as_mut() {
inner
.send(Message::Pong(Bytes::copy_from_slice(msg)))
.<span class="kw">await
</span>.map_err(|<span class="kw">_</span>| Closed)
} <span class="kw">else </span>{
<span class="prelude-val">Err</span>(Closed)
}
}
<span class="doccomment">/// Send a close message, and consume the session
///
/// All clones will return `Err(Closed)` if used after this call
///
/// ```rust,ignore
/// session.close(None).await
/// ```
</span><span class="kw">pub async fn </span>close(<span class="kw-2">mut </span><span class="self">self</span>, reason: <span class="prelude-ty">Option</span>&lt;CloseReason&gt;) -&gt; <span class="prelude-ty">Result</span>&lt;(), Closed&gt; {
<span class="self">self</span>.pre_check();
<span class="kw">if let </span><span class="prelude-val">Some</span>(inner) = <span class="self">self</span>.inner.take() {
<span class="self">self</span>.closed.store(<span class="bool-val">true</span>, Ordering::Relaxed);
inner.send(Message::Close(reason)).<span class="kw">await</span>.map_err(|<span class="kw">_</span>| Closed)
} <span class="kw">else </span>{
<span class="prelude-val">Err</span>(Closed)
}
}
}
</code></pre></div></section></main></body></html>

View File

@ -3,6 +3,7 @@
"actix_identity":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_identity/struct.IdentityMiddleware.html\" title=\"struct actix_identity::IdentityMiddleware\">IdentityMiddleware</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_identity/config/enum.LogoutBehaviour.html\" title=\"enum actix_identity::config::LogoutBehaviour\">LogoutBehaviour</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_identity/config/struct.IdentityMiddlewareBuilder.html\" title=\"struct actix_identity::config::IdentityMiddlewareBuilder\">IdentityMiddlewareBuilder</a>"]],
"actix_limitation":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_limitation/struct.Limiter.html\" title=\"struct actix_limitation::Limiter\">Limiter</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_limitation/struct.Status.html\" title=\"struct actix_limitation::Status\">Status</a>"]],
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_session/config/struct.PersistentSession.html\" title=\"struct actix_session::config::PersistentSession\">PersistentSession</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_session/config/enum.TtlExtensionPolicy.html\" title=\"enum actix_session::config::TtlExtensionPolicy\">TtlExtensionPolicy</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_session/config/enum.CookieContentSecurity.html\" title=\"enum actix_session::config::CookieContentSecurity\">CookieContentSecurity</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_session/enum.SessionStatus.html\" title=\"enum actix_session::SessionStatus\">SessionStatus</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_session/struct.Session.html\" title=\"struct actix_session::Session\">Session</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_session/config/enum.SessionLifecycle.html\" title=\"enum actix_session::config::SessionLifecycle\">SessionLifecycle</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_session/storage/struct.RedisSessionStore.html\" title=\"struct actix_session::storage::RedisSessionStore\">RedisSessionStore</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_session/config/struct.BrowserSession.html\" title=\"struct actix_session::config::BrowserSession\">BrowserSession</a>"],["impl&lt;Store: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"actix_session/storage/trait.SessionStore.html\" title=\"trait actix_session::storage::SessionStore\">SessionStore</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_session/struct.SessionMiddleware.html\" title=\"struct actix_session::SessionMiddleware\">SessionMiddleware</a>&lt;Store&gt;"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::bearer::Config\">Config</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.BearerAuth.html\" title=\"struct actix_web_httpauth::extractors::bearer::BearerAuth\">BearerAuth</a>"],["impl&lt;C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::basic::Config\">Config</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.BasicAuth.html\" title=\"struct actix_web_httpauth::extractors::basic::BasicAuth\">BasicAuth</a>"],["impl&lt;T, F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/middleware/struct.HttpAuthentication.html\" title=\"struct actix_web_httpauth::middleware::HttpAuthentication\">HttpAuthentication</a>&lt;T, F&gt;<span class=\"where fmt-newline\">where\n T: FromRequest + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</span>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"],["impl&lt;S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"]]
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::bearer::Config\">Config</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.BearerAuth.html\" title=\"struct actix_web_httpauth::extractors::bearer::BearerAuth\">BearerAuth</a>"],["impl&lt;C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::basic::Config\">Config</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.BasicAuth.html\" title=\"struct actix_web_httpauth::extractors::basic::BasicAuth\">BasicAuth</a>"],["impl&lt;T, F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/middleware/struct.HttpAuthentication.html\" title=\"struct actix_web_httpauth::middleware::HttpAuthentication\">HttpAuthentication</a>&lt;T, F&gt;<span class=\"where fmt-newline\">where\n T: FromRequest + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</span>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"],["impl&lt;S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"]],
"actix_ws":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"actix_ws/struct.Session.html\" title=\"struct actix_ws::Session\">Session</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -1,5 +1,5 @@
(function() {var implementors = {
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_session/storage/struct.SessionKey.html\" title=\"struct actix_session::storage::SessionKey\">SessionKey</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_session/enum.SessionStatus.html\" title=\"enum actix_session::SessionStatus\">SessionStatus</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"]],
"actix_web_httpauth":[["impl&lt;C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"],["impl&lt;S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -1,5 +1,5 @@
(function() {var implementors = {
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_session/storage/struct.SessionKey.html\" title=\"struct actix_session::storage::SessionKey\">SessionKey</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_session/enum.SessionStatus.html\" title=\"enum actix_session::SessionStatus\">SessionStatus</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"],["impl&lt;S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"],["impl&lt;C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -4,6 +4,6 @@
"actix_protobuf":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;PayloadError&gt; for <a class=\"enum\" href=\"actix_protobuf/enum.ProtoBufPayloadError.html\" title=\"enum actix_protobuf::ProtoBufPayloadError\">ProtoBufPayloadError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://docs.rs/prost/0.12.1/prost/error/struct.DecodeError.html\" title=\"struct prost::error::DecodeError\">DecodeError</a>&gt; for <a class=\"enum\" href=\"actix_protobuf/enum.ProtoBufPayloadError.html\" title=\"enum actix_protobuf::ProtoBufPayloadError\">ProtoBufPayloadError</a>"]],
"actix_redis":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"actix_redis/enum.RespError.html\" title=\"enum actix_redis::RespError\">Error</a>&gt; for <a class=\"enum\" href=\"actix_redis/enum.Error.html\" title=\"enum actix_redis::Error\">Error</a>"]],
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://docs.rs/anyhow/1.0.75/anyhow/struct.Error.html\" title=\"struct anyhow::Error\">Error</a>&gt; for <a class=\"struct\" href=\"actix_session/struct.SessionInsertError.html\" title=\"struct actix_session::SessionInsertError\">SessionInsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"actix_session/storage/struct.SessionKey.html\" title=\"struct actix_session::storage::SessionKey\">SessionKey</a>&gt; for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"actix_session/config/struct.PersistentSession.html\" title=\"struct actix_session::config::PersistentSession\">PersistentSession</a>&gt; for <a class=\"enum\" href=\"actix_session/config/enum.SessionLifecycle.html\" title=\"enum actix_session::config::SessionLifecycle\">SessionLifecycle</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"actix_session/config/struct.BrowserSession.html\" title=\"struct actix_session::config::BrowserSession\">BrowserSession</a>&gt; for <a class=\"enum\" href=\"actix_session/config/enum.SessionLifecycle.html\" title=\"enum actix_session::config::SessionLifecycle\">SessionLifecycle</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://docs.rs/anyhow/1.0.75/anyhow/struct.Error.html\" title=\"struct anyhow::Error\">Error</a>&gt; for <a class=\"struct\" href=\"actix_session/struct.SessionGetError.html\" title=\"struct actix_session::SessionGetError\">SessionGetError</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>&gt; for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html\" title=\"struct std::io::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/str/error/struct.ParseBoolError.html\" title=\"struct core::str::error::ParseBoolError\">ParseBoolError</a>&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/std/env/enum.VarError.html\" title=\"enum std::env::VarError\">VarError</a>&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<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; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/num/error/struct.ParseIntError.html\" title=\"struct core::num::error::ParseIntError\">ParseIntError</a>&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;Error&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/num/error/struct.ParseIntError.html\" title=\"struct core::num::error::ParseIntError\">ParseIntError</a>&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<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; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/std/env/enum.VarError.html\" title=\"enum std::env::VarError\">VarError</a>&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/str/error/struct.ParseBoolError.html\" title=\"struct core::str::error::ParseBoolError\">ParseBoolError</a>&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;Error&gt; for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>&gt; for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html\" title=\"struct std::io::error::Error\">Error</a>"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>&gt; for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.BasicAuth.html\" title=\"struct actix_web_httpauth::extractors::basic::BasicAuth\">BasicAuth</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;DecodeError&gt; for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://docs.rs/http/0.2.9/http/header/value/struct.ToStrError.html\" title=\"struct http::header::value::ToStrError\">ToStrError</a>&gt; for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/str/error/struct.Utf8Error.html\" title=\"struct core::str::error::Utf8Error\">Utf8Error</a>&gt; for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>"],["impl&lt;S: <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;S&gt; for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["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 <a class=\"struct\" href=\"actix_web_httpauth/extractors/struct.AuthenticationError.html\" title=\"struct actix_web_httpauth::extractors::AuthenticationError\">AuthenticationError</a>&lt;&lt;T as <a class=\"trait\" href=\"actix_web_httpauth/extractors/trait.AuthExtractorConfig.html\" title=\"trait actix_web_httpauth::extractors::AuthExtractorConfig\">AuthExtractorConfig</a>&gt;::<a class=\"associatedtype\" href=\"actix_web_httpauth/extractors/trait.AuthExtractorConfig.html#associatedtype.Inner\" title=\"type actix_web_httpauth::extractors::AuthExtractorConfig::Inner\">Inner</a>&gt;<span class=\"where fmt-newline\">where\n T: <a class=\"trait\" href=\"actix_web_httpauth/extractors/trait.AuthExtractorConfig.html\" title=\"trait actix_web_httpauth::extractors::AuthExtractorConfig\">AuthExtractorConfig</a>,</span>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -5,5 +5,6 @@
"actix_redis":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"actix_redis/enum.Error.html\" title=\"enum actix_redis::Error\">Error</a>"]],
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"actix_session/storage/enum.UpdateError.html\" title=\"enum actix_session::storage::UpdateError\">UpdateError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"actix_session/struct.SessionInsertError.html\" title=\"struct actix_session::SessionInsertError\">SessionInsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"actix_session/struct.SessionGetError.html\" title=\"struct actix_session::SessionGetError\">SessionGetError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"actix_session/storage/enum.SaveError.html\" title=\"enum actix_session::storage::SaveError\">SaveError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"actix_session/storage/enum.LoadError.html\" title=\"enum actix_session::storage::LoadError\">LoadError</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>"],["impl&lt;C: <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a> + 'static&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/struct.AuthenticationError.html\" title=\"struct actix_web_httpauth::extractors::AuthenticationError\">AuthenticationError</a>&lt;C&gt;"]]
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>"],["impl&lt;C: <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a> + 'static&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/struct.AuthenticationError.html\" title=\"struct actix_web_httpauth::extractors::AuthenticationError\">AuthenticationError</a>&lt;C&gt;"]],
"actix_ws":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"actix_ws/struct.Closed.html\" title=\"struct actix_ws::Closed\">Closed</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

File diff suppressed because one or more lines are too long

View File

@ -6,5 +6,6 @@
"actix_redis":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_redis/enum.Error.html\" title=\"enum actix_redis::Error\">Error</a>"]],
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_session/storage/enum.UpdateError.html\" title=\"enum actix_session::storage::UpdateError\">UpdateError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_session/struct.SessionGetError.html\" title=\"struct actix_session::SessionGetError\">SessionGetError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_session/storage/enum.LoadError.html\" title=\"enum actix_session::storage::LoadError\">LoadError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_session/storage/enum.SaveError.html\" title=\"enum actix_session::storage::SaveError\">SaveError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_session/struct.SessionInsertError.html\" title=\"struct actix_session::SessionInsertError\">SessionInsertError</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>"],["impl&lt;C: <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/struct.AuthenticationError.html\" title=\"struct actix_web_httpauth::extractors::AuthenticationError\">AuthenticationError</a>&lt;C&gt;"],["impl&lt;S: <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"]]
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>"],["impl&lt;C: <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/extractors/struct.AuthenticationError.html\" title=\"struct actix_web_httpauth::extractors::AuthenticationError\">AuthenticationError</a>&lt;C&gt;"],["impl&lt;S: <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"]],
"actix_ws":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"actix_ws/struct.Closed.html\" title=\"struct actix_ws::Closed\">Closed</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -1,4 +1,4 @@
(function() {var implementors = {
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl&lt;A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"]],
"actix_web_httpauth":[["impl&lt;S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl&lt;C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> + <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -6,5 +6,6 @@
"actix_redis":[["impl Freeze for <a class=\"struct\" href=\"actix_redis/struct.Command.html\" title=\"struct actix_redis::Command\">Command</a>",1,["actix_redis::redis::Command"]],["impl Freeze for <a class=\"struct\" href=\"actix_redis/struct.RedisActor.html\" title=\"struct actix_redis::RedisActor\">RedisActor</a>",1,["actix_redis::redis::RedisActor"]],["impl Freeze for <a class=\"enum\" href=\"actix_redis/enum.Error.html\" title=\"enum actix_redis::Error\">Error</a>",1,["actix_redis::Error"]]],
"actix_session":[["impl Freeze for <a class=\"enum\" href=\"actix_session/config/enum.SessionLifecycle.html\" title=\"enum actix_session::config::SessionLifecycle\">SessionLifecycle</a>",1,["actix_session::config::SessionLifecycle"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/config/struct.BrowserSession.html\" title=\"struct actix_session::config::BrowserSession\">BrowserSession</a>",1,["actix_session::config::BrowserSession"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/config/struct.PersistentSession.html\" title=\"struct actix_session::config::PersistentSession\">PersistentSession</a>",1,["actix_session::config::PersistentSession"]],["impl Freeze for <a class=\"enum\" href=\"actix_session/config/enum.TtlExtensionPolicy.html\" title=\"enum actix_session::config::TtlExtensionPolicy\">TtlExtensionPolicy</a>",1,["actix_session::config::TtlExtensionPolicy"]],["impl Freeze for <a class=\"enum\" href=\"actix_session/config/enum.CookieContentSecurity.html\" title=\"enum actix_session::config::CookieContentSecurity\">CookieContentSecurity</a>",1,["actix_session::config::CookieContentSecurity"]],["impl&lt;Store&gt; Freeze for <a class=\"struct\" href=\"actix_session/config/struct.SessionMiddlewareBuilder.html\" title=\"struct actix_session::config::SessionMiddlewareBuilder\">SessionMiddlewareBuilder</a>&lt;Store&gt;<span class=\"where fmt-newline\">where\n Store: Freeze,</span>",1,["actix_session::config::SessionMiddlewareBuilder"]],["impl&lt;Store&gt; Freeze for <a class=\"struct\" href=\"actix_session/struct.SessionMiddleware.html\" title=\"struct actix_session::SessionMiddleware\">SessionMiddleware</a>&lt;Store&gt;",1,["actix_session::middleware::SessionMiddleware"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/struct.Session.html\" title=\"struct actix_session::Session\">Session</a>",1,["actix_session::session::Session"]],["impl Freeze for <a class=\"enum\" href=\"actix_session/enum.SessionStatus.html\" title=\"enum actix_session::SessionStatus\">SessionStatus</a>",1,["actix_session::session::SessionStatus"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/struct.SessionGetError.html\" title=\"struct actix_session::SessionGetError\">SessionGetError</a>",1,["actix_session::session::SessionGetError"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/struct.SessionInsertError.html\" title=\"struct actix_session::SessionInsertError\">SessionInsertError</a>",1,["actix_session::session::SessionInsertError"]],["impl Freeze for <a class=\"enum\" href=\"actix_session/storage/enum.LoadError.html\" title=\"enum actix_session::storage::LoadError\">LoadError</a>",1,["actix_session::storage::interface::LoadError"]],["impl Freeze for <a class=\"enum\" href=\"actix_session/storage/enum.SaveError.html\" title=\"enum actix_session::storage::SaveError\">SaveError</a>",1,["actix_session::storage::interface::SaveError"]],["impl Freeze for <a class=\"enum\" href=\"actix_session/storage/enum.UpdateError.html\" title=\"enum actix_session::storage::UpdateError\">UpdateError</a>",1,["actix_session::storage::interface::UpdateError"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/storage/struct.SessionKey.html\" title=\"struct actix_session::storage::SessionKey\">SessionKey</a>",1,["actix_session::storage::session_key::SessionKey"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/storage/struct.CookieSessionStore.html\" title=\"struct actix_session::storage::CookieSessionStore\">CookieSessionStore</a>",1,["actix_session::storage::cookie::CookieSessionStore"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/storage/struct.RedisActorSessionStore.html\" title=\"struct actix_session::storage::RedisActorSessionStore\">RedisActorSessionStore</a>",1,["actix_session::storage::redis_actor::RedisActorSessionStore"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/storage/struct.RedisActorSessionStoreBuilder.html\" title=\"struct actix_session::storage::RedisActorSessionStoreBuilder\">RedisActorSessionStoreBuilder</a>",1,["actix_session::storage::redis_actor::RedisActorSessionStoreBuilder"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/storage/struct.RedisSessionStore.html\" title=\"struct actix_session::storage::RedisSessionStore\">RedisSessionStore</a>",1,["actix_session::storage::redis_rs::RedisSessionStore"]],["impl Freeze for <a class=\"struct\" href=\"actix_session/storage/struct.RedisSessionStoreBuilder.html\" title=\"struct actix_session::storage::RedisSessionStoreBuilder\">RedisSessionStoreBuilder</a>",1,["actix_session::storage::redis_rs::RedisSessionStoreBuilder"]]],
"actix_settings":[["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.Error.html\" title=\"enum actix_settings::Error\">Error</a>",1,["actix_settings::error::Error"]],["impl Freeze for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>",1,["actix_settings::settings::address::Address"]],["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>",1,["actix_settings::settings::backlog::Backlog"]],["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>",1,["actix_settings::settings::keep_alive::KeepAlive"]],["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>",1,["actix_settings::settings::max_connection_rate::MaxConnectionRate"]],["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>",1,["actix_settings::settings::max_connections::MaxConnections"]],["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>",1,["actix_settings::settings::mode::Mode"]],["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>",1,["actix_settings::settings::num_workers::NumWorkers"]],["impl Freeze for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>",1,["actix_settings::settings::timeout::Timeout"]],["impl Freeze for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>",1,["actix_settings::settings::tls::Tls"]],["impl Freeze for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>",1,["actix_settings::settings::ActixSettings"]],["impl&lt;A&gt; Freeze for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;<span class=\"where fmt-newline\">where\n A: Freeze,</span>",1,["actix_settings::BasicSettings"]],["impl Freeze for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>",1,["actix_settings::NoSettings"]]],
"actix_web_httpauth":[["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::basic::Config\">Config</a>",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.BasicAuth.html\" title=\"struct actix_web_httpauth::extractors::basic::BasicAuth\">BasicAuth</a>",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Freeze for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::bearer::Config\">Config</a>",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.BearerAuth.html\" title=\"struct actix_web_httpauth::extractors::bearer::BearerAuth\">BearerAuth</a>",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl&lt;C&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/struct.AuthenticationError.html\" title=\"struct actix_web_httpauth::extractors::AuthenticationError\">AuthenticationError</a>&lt;C&gt;<span class=\"where fmt-newline\">where\n C: Freeze,</span>",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl Freeze for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl&lt;S&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;<span class=\"where fmt-newline\">where\n S: Freeze,</span>",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder\">BearerBuilder</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl&lt;C&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;<span class=\"where fmt-newline\">where\n C: Freeze,</span>",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl&lt;T, F&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/middleware/struct.HttpAuthentication.html\" title=\"struct actix_web_httpauth::middleware::HttpAuthentication\">HttpAuthentication</a>&lt;T, F&gt;",1,["actix_web_httpauth::middleware::HttpAuthentication"]]]
"actix_web_httpauth":[["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::basic::Config\">Config</a>",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/basic/struct.BasicAuth.html\" title=\"struct actix_web_httpauth::extractors::basic::BasicAuth\">BasicAuth</a>",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Freeze for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.Config.html\" title=\"struct actix_web_httpauth::extractors::bearer::Config\">Config</a>",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/bearer/struct.BearerAuth.html\" title=\"struct actix_web_httpauth::extractors::bearer::BearerAuth\">BearerAuth</a>",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl&lt;C&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/extractors/struct.AuthenticationError.html\" title=\"struct actix_web_httpauth::extractors::AuthenticationError\">AuthenticationError</a>&lt;C&gt;<span class=\"where fmt-newline\">where\n C: Freeze,</span>",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl Freeze for <a class=\"enum\" href=\"actix_web_httpauth/headers/authorization/enum.ParseError.html\" title=\"enum actix_web_httpauth::headers::authorization::ParseError\">ParseError</a>",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl&lt;S&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;<span class=\"where fmt-newline\">where\n S: Freeze,</span>",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder\">BearerBuilder</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl&lt;C&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;<span class=\"where fmt-newline\">where\n C: Freeze,</span>",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl&lt;T, F&gt; Freeze for <a class=\"struct\" href=\"actix_web_httpauth/middleware/struct.HttpAuthentication.html\" title=\"struct actix_web_httpauth::middleware::HttpAuthentication\">HttpAuthentication</a>&lt;T, F&gt;",1,["actix_web_httpauth::middleware::HttpAuthentication"]]],
"actix_ws":[["impl Freeze for <a class=\"struct\" href=\"actix_ws/struct.StreamingBody.html\" title=\"struct actix_ws::StreamingBody\">StreamingBody</a>",1,["actix_ws::fut::StreamingBody"]],["impl Freeze for <a class=\"struct\" href=\"actix_ws/struct.MessageStream.html\" title=\"struct actix_ws::MessageStream\">MessageStream</a>",1,["actix_ws::fut::MessageStream"]],["impl Freeze for <a class=\"struct\" href=\"actix_ws/struct.Session.html\" title=\"struct actix_ws::Session\">Session</a>",1,["actix_ws::session::Session"]],["impl Freeze for <a class=\"struct\" href=\"actix_ws/struct.Closed.html\" title=\"struct actix_ws::Closed\">Closed</a>",1,["actix_ws::session::Closed"]]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
(function() {var implementors = {
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_session/enum.SessionStatus.html\" title=\"enum actix_session::SessionStatus\">SessionStatus</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_session/storage/struct.SessionKey.html\" title=\"struct actix_session::storage::SessionKey\">SessionKey</a>"]],
"actix_settings":[["impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"],["impl&lt;S: <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"],["impl&lt;C: <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -1,5 +1,5 @@
(function() {var implementors = {
"actix_session":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_session/enum.SessionStatus.html\" title=\"enum actix_session::SessionStatus\">SessionStatus</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_session/storage/struct.SessionKey.html\" title=\"struct actix_session::storage::SessionKey\">SessionKey</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"]],
"actix_settings":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"]],
"actix_web_httpauth":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"actix_web_httpauth/extractors/bearer/enum.Error.html\" title=\"enum actix_web_httpauth::extractors::bearer::Error\">Error</a>"],["impl&lt;S: <a class=\"trait\" href=\"actix_web_httpauth/headers/authorization/trait.Scheme.html\" title=\"trait actix_web_httpauth::headers::authorization::Scheme\">Scheme</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Authorization.html\" title=\"struct actix_web_httpauth::headers::authorization::Authorization\">Authorization</a>&lt;S&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer\">Bearer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::authorization::Basic\">Basic</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::basic::Basic\">Basic</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/authorization/struct.Bearer.html\" title=\"struct actix_web_httpauth::headers::authorization::Bearer\">Bearer</a>"],["impl&lt;C: <a class=\"trait\" href=\"actix_web_httpauth/headers/www_authenticate/trait.Challenge.html\" title=\"trait actix_web_httpauth::headers::www_authenticate::Challenge\">Challenge</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html\" title=\"struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate\">WwwAuthenticate</a>&lt;C&gt;"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
(function() {var implementors = {
"actix_ws":[["impl Stream for <a class=\"struct\" href=\"actix_ws/struct.StreamingBody.html\" title=\"struct actix_ws::StreamingBody\">StreamingBody</a>"],["impl Stream for <a class=\"struct\" href=\"actix_ws/struct.MessageStream.html\" title=\"struct actix_ws::MessageStream\">MessageStream</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

View File

@ -1,3 +1,3 @@
(function() {var implementors = {
"actix_settings":[["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl&lt;'de, A&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;<span class=\"where fmt-newline\">where\n A: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt;,</span>"]]
"actix_settings":[["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.NumWorkers.html\" title=\"enum actix_settings::NumWorkers\">NumWorkers</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.Address.html\" title=\"struct actix_settings::Address\">Address</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.Tls.html\" title=\"struct actix_settings::Tls\">Tls</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.Timeout.html\" title=\"enum actix_settings::Timeout\">Timeout</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.Backlog.html\" title=\"enum actix_settings::Backlog\">Backlog</a>"],["impl&lt;'de, A&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.BasicSettings.html\" title=\"struct actix_settings::BasicSettings\">BasicSettings</a>&lt;A&gt;<span class=\"where fmt-newline\">where\n A: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt;,</span>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.NoSettings.html\" title=\"struct actix_settings::NoSettings\">NoSettings</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.MaxConnections.html\" title=\"enum actix_settings::MaxConnections\">MaxConnections</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"actix_settings/struct.ActixSettings.html\" title=\"struct actix_settings::ActixSettings\">ActixSettings</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.Mode.html\" title=\"enum actix_settings::Mode\">Mode</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.MaxConnectionRate.html\" title=\"enum actix_settings::MaxConnectionRate\">MaxConnectionRate</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.190/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"actix_settings/enum.KeepAlive.html\" title=\"enum actix_settings::KeepAlive\">KeepAlive</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()

File diff suppressed because one or more lines are too long