mirror of
https://github.com/fafhrd91/actix-web
synced 2025-06-30 08:24:28 +02:00
Deploying to gh-pages from @ actix/actix-web@26efa64278 🚀
This commit is contained in:
1
actix_web_actors/all.html
Normal file
1
actix_web_actors/all.html
Normal 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-df360f571f6edeae.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" title="show sidebar"></button><a class="logo-container" href="../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.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><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><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.HttpContext.html">HttpContext</a></li><li><a href="ws/struct.CloseReason.html">ws::CloseReason</a></li><li><a href="ws/struct.WebsocketContext.html">ws::WebsocketContext</a></li><li><a href="ws/struct.WsResponseBuilder.html">ws::WsResponseBuilder</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="ws/enum.CloseCode.html">ws::CloseCode</a></li><li><a href="ws/enum.Frame.html">ws::Frame</a></li><li><a href="ws/enum.HandshakeError.html">ws::HandshakeError</a></li><li><a href="ws/enum.Message.html">ws::Message</a></li><li><a href="ws/enum.ProtocolError.html">ws::ProtocolError</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="ws/fn.handshake.html">ws::handshake</a></li><li><a href="ws/fn.handshake_with_protocols.html">ws::handshake_with_protocols</a></li><li><a href="ws/fn.start.html">ws::start</a></li><li><a href="ws/fn.start_with_addr.html">ws::start_with_addr</a></li><li><a href="ws/fn.start_with_protocols.html">ws::start_with_protocols</a></li></ul></section></div></main></body></html>
|
11
actix_web_actors/context/struct.HttpContext.html
Normal file
11
actix_web_actors/context/struct.HttpContext.html
Normal file
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../actix_web_actors/struct.HttpContext.html">
|
||||
<title>Redirection</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../actix_web_actors/struct.HttpContext.html">../../actix_web_actors/struct.HttpContext.html</a>...</p>
|
||||
<script>location.replace("../../actix_web_actors/struct.HttpContext.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
55
actix_web_actors/index.html
Normal file
55
actix_web_actors/index.html
Normal file
@ -0,0 +1,55 @@
|
||||
<!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="Actix actors support for Actix Web."><title>actix_web_actors - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-df360f571f6edeae.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" title="show sidebar"></button><a class="logo-container" href="../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.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="#modules">Modules</a></li><li><a href="#structs">Structs</a></li></ul></section></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <a class="mod" href="#">actix_web_actors</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/actix_web_actors/lib.rs.html#1-67">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Actix actors support for Actix Web.</p>
|
||||
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix::{Actor, StreamHandler};
|
||||
<span class="kw">use </span>actix_web::{get, web, App, Error, HttpRequest, HttpResponse, HttpServer};
|
||||
<span class="kw">use </span>actix_web_actors::ws;
|
||||
|
||||
<span class="doccomment">/// Define Websocket actor
|
||||
</span><span class="kw">struct </span>MyWs;
|
||||
|
||||
<span class="kw">impl </span>Actor <span class="kw">for </span>MyWs {
|
||||
<span class="kw">type </span>Context = ws::WebsocketContext<<span class="self">Self</span>>;
|
||||
}
|
||||
|
||||
<span class="doccomment">/// Handler for ws::Message message
|
||||
</span><span class="kw">impl </span>StreamHandler<<span class="prelude-ty">Result</span><ws::Message, ws::ProtocolError>> <span class="kw">for </span>MyWs {
|
||||
<span class="kw">fn </span>handle(<span class="kw-2">&mut </span><span class="self">self</span>, msg: <span class="prelude-ty">Result</span><ws::Message, ws::ProtocolError>, ctx: <span class="kw-2">&mut </span><span class="self">Self</span>::Context) {
|
||||
<span class="kw">match </span>msg {
|
||||
<span class="prelude-val">Ok</span>(ws::Message::Ping(msg)) => ctx.pong(<span class="kw-2">&</span>msg),
|
||||
<span class="prelude-val">Ok</span>(ws::Message::Text(text)) => ctx.text(text),
|
||||
<span class="prelude-val">Ok</span>(ws::Message::Binary(bin)) => ctx.binary(bin),
|
||||
<span class="kw">_ </span>=> (),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<span class="attr">#[get(<span class="string">"/ws"</span>)]
|
||||
</span><span class="kw">async fn </span>index(req: HttpRequest, stream: web::Payload) -> <span class="prelude-ty">Result</span><HttpResponse, Error> {
|
||||
ws::start(MyWs, <span class="kw-2">&</span>req, stream)
|
||||
}
|
||||
|
||||
<span class="attr">#[actix_web::main]
|
||||
</span><span class="kw">async fn </span>main() -> std::io::Result<()> {
|
||||
HttpServer::new(|| App::new().service(index))
|
||||
.bind((<span class="string">"127.0.0.1"</span>, <span class="number">8080</span>))<span class="question-mark">?
|
||||
</span>.run()
|
||||
.<span class="kw">await
|
||||
</span>}</code></pre></div>
|
||||
<h2 id="documentation--community-resources"><a class="doc-anchor" href="#documentation--community-resources">§</a>Documentation & Community Resources</h2>
|
||||
<p>In addition to this API documentation, several other resources are available:</p>
|
||||
<ul>
|
||||
<li><a href="https://actix.rs/">Website & User Guide</a></li>
|
||||
<li><a href="actix_web">Documentation for <code>actix_web</code></a></li>
|
||||
<li><a href="https://github.com/actix/examples">Examples Repository</a></li>
|
||||
<li><a href="https://discord.gg/NWpN5mmg3x">Community Chat on Discord</a></li>
|
||||
</ul>
|
||||
<p>To get started navigating the API docs, you may consider looking at the following pages first:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="ws/index.html" title="mod actix_web_actors::ws"><code>ws</code></a>: This module provides actor support for WebSockets.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="struct.HttpContext.html" title="struct actix_web_actors::HttpContext"><code>HttpContext</code></a>: This struct provides actor support for streaming HTTP responses.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="ws/index.html" title="mod actix_web_actors::ws">ws</a></div><div class="desc docblock-short">Websocket integration.</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.HttpContext.html" title="struct actix_web_actors::HttpContext">HttpContext</a></div><div class="desc docblock-short">Execution context for HTTP actors</div></li></ul></section></div></main></body></html>
|
1
actix_web_actors/sidebar-items.js
Normal file
1
actix_web_actors/sidebar-items.js
Normal file
@ -0,0 +1 @@
|
||||
window.SIDEBAR_ITEMS = {"mod":["ws"],"struct":["HttpContext"]};
|
102
actix_web_actors/struct.HttpContext.html
Normal file
102
actix_web_actors/struct.HttpContext.html
Normal file
File diff suppressed because one or more lines are too long
72
actix_web_actors/ws/enum.CloseCode.html
Normal file
72
actix_web_actors/ws/enum.CloseCode.html
Normal file
File diff suppressed because one or more lines are too long
37
actix_web_actors/ws/enum.Frame.html
Normal file
37
actix_web_actors/ws/enum.Frame.html
Normal file
File diff suppressed because one or more lines are too long
42
actix_web_actors/ws/enum.HandshakeError.html
Normal file
42
actix_web_actors/ws/enum.HandshakeError.html
Normal file
File diff suppressed because one or more lines are too long
39
actix_web_actors/ws/enum.Message.html
Normal file
39
actix_web_actors/ws/enum.Message.html
Normal file
File diff suppressed because one or more lines are too long
43
actix_web_actors/ws/enum.ProtocolError.html
Normal file
43
actix_web_actors/ws/enum.ProtocolError.html
Normal file
File diff suppressed because one or more lines are too long
6
actix_web_actors/ws/fn.handshake.html
Normal file
6
actix_web_actors/ws/fn.handshake.html
Normal file
@ -0,0 +1,6 @@
|
||||
<!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="Prepare WebSocket handshake response."><title>handshake in actix_web_actors::ws - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.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" title="show sidebar"></button><a class="logo-container" href="../../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In actix_web_actors::ws</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">actix_web_actors</a>::<wbr><a href="index.html">ws</a>::<wbr><a class="fn" href="#">handshake</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/actix_web_actors/ws.rs.html#362-364">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn handshake(
|
||||
req: &HttpRequest
|
||||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><HttpResponseBuilder, <a class="enum" href="enum.HandshakeError.html" title="enum actix_web_actors::ws::HandshakeError">HandshakeError</a>></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Prepare WebSocket handshake response.</p>
|
||||
<p>This function returns handshake <code>HttpResponse</code>, ready to send to peer. It does not perform
|
||||
any IO.</p>
|
||||
</div></details></section></div></main></body></html>
|
9
actix_web_actors/ws/fn.handshake_with_protocols.html
Normal file
9
actix_web_actors/ws/fn.handshake_with_protocols.html
Normal file
@ -0,0 +1,9 @@
|
||||
<!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="Prepare WebSocket handshake response."><title>handshake_with_protocols in actix_web_actors::ws - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.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" title="show sidebar"></button><a class="logo-container" href="../../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In actix_web_actors::ws</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">actix_web_actors</a>::<wbr><a href="index.html">ws</a>::<wbr><a class="fn" href="#">handshake_with_protocols</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/actix_web_actors/ws.rs.html#373-451">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn handshake_with_protocols(
|
||||
req: &HttpRequest,
|
||||
protocols: &[&<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>]
|
||||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><HttpResponseBuilder, <a class="enum" href="enum.HandshakeError.html" title="enum actix_web_actors::ws::HandshakeError">HandshakeError</a>></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Prepare WebSocket handshake response.</p>
|
||||
<p>This function returns handshake <code>HttpResponse</code>, ready to send to peer. It does not perform
|
||||
any IO.</p>
|
||||
<p><code>protocols</code> is a sequence of known protocols. On successful handshake, the returned response
|
||||
headers contain the first protocol in this list which the server also knows.</p>
|
||||
</div></details></section></div></main></body></html>
|
9
actix_web_actors/ws/fn.start.html
Normal file
9
actix_web_actors/ws/fn.start.html
Normal file
@ -0,0 +1,9 @@
|
||||
<!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="Perform WebSocket handshake and start actor."><title>start in actix_web_actors::ws - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.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" title="show sidebar"></button><a class="logo-container" href="../../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In actix_web_actors::ws</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">actix_web_actors</a>::<wbr><a href="index.html">ws</a>::<wbr><a class="fn" href="#">start</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/actix_web_actors/ws.rs.html#303-310">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn start<A, T>(
|
||||
actor: A,
|
||||
req: &HttpRequest,
|
||||
stream: T
|
||||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><HttpResponse, Error><div class="where">where
|
||||
A: Actor<Context = <a class="struct" href="struct.WebsocketContext.html" title="struct actix_web_actors::ws::WebsocketContext">WebsocketContext</a><A>> + StreamHandler<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="enum.Message.html" title="enum actix_web_actors::ws::Message">Message</a>, <a class="enum" href="enum.ProtocolError.html" title="enum actix_web_actors::ws::ProtocolError">ProtocolError</a>>>,
|
||||
T: Stream<Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Bytes, PayloadError>> + 'static,</div></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Perform WebSocket handshake and start actor.</p>
|
||||
<p>To customize options, see <a href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder"><code>WsResponseBuilder</code></a>.</p>
|
||||
</div></details></section></div></main></body></html>
|
14
actix_web_actors/ws/fn.start_with_addr.html
Normal file
14
actix_web_actors/ws/fn.start_with_addr.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!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="Perform WebSocket handshake and start actor."><title>start_with_addr in actix_web_actors::ws - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.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" title="show sidebar"></button><a class="logo-container" href="../../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In actix_web_actors::ws</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">actix_web_actors</a>::<wbr><a href="index.html">ws</a>::<wbr><a class="fn" href="#">start_with_addr</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/actix_web_actors/ws.rs.html#323-335">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn start_with_addr<A, T>(
|
||||
actor: A,
|
||||
req: &HttpRequest,
|
||||
stream: T
|
||||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(Addr<A>, HttpResponse), Error><div class="where">where
|
||||
A: Actor<Context = <a class="struct" href="struct.WebsocketContext.html" title="struct actix_web_actors::ws::WebsocketContext">WebsocketContext</a><A>> + StreamHandler<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="enum.Message.html" title="enum actix_web_actors::ws::Message">Message</a>, <a class="enum" href="enum.ProtocolError.html" title="enum actix_web_actors::ws::ProtocolError">ProtocolError</a>>>,
|
||||
T: Stream<Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Bytes, PayloadError>> + 'static,</div></code></pre><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 4.0.0: Prefer <code>WsResponseBuilder::start_with_addr</code>.</span></div></span><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Perform WebSocket handshake and start actor.</p>
|
||||
<p><code>req</code> is an HTTP Request that should be requesting a websocket protocol change. <code>stream</code> should
|
||||
be a <code>Bytes</code> stream (such as <code>actix_web::web::Payload</code>) that contains a stream of the
|
||||
body request.</p>
|
||||
<p>If there is a problem with the handshake, an error is returned.</p>
|
||||
<p>If successful, returns a pair where the first item is an address for the created actor and the
|
||||
second item is the response that should be returned from the WebSocket request.</p>
|
||||
</div></details></section></div></main></body></html>
|
10
actix_web_actors/ws/fn.start_with_protocols.html
Normal file
10
actix_web_actors/ws/fn.start_with_protocols.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!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="Do WebSocket handshake and start ws actor."><title>start_with_protocols in actix_web_actors::ws - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.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" title="show sidebar"></button><a class="logo-container" href="../../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In actix_web_actors::ws</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">actix_web_actors</a>::<wbr><a href="index.html">ws</a>::<wbr><a class="fn" href="#">start_with_protocols</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/actix_web_actors/ws.rs.html#344-356">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn start_with_protocols<A, T>(
|
||||
actor: A,
|
||||
protocols: &[&<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>],
|
||||
req: &HttpRequest,
|
||||
stream: T
|
||||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><HttpResponse, Error><div class="where">where
|
||||
A: Actor<Context = <a class="struct" href="struct.WebsocketContext.html" title="struct actix_web_actors::ws::WebsocketContext">WebsocketContext</a><A>> + StreamHandler<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="enum.Message.html" title="enum actix_web_actors::ws::Message">Message</a>, <a class="enum" href="enum.ProtocolError.html" title="enum actix_web_actors::ws::ProtocolError">ProtocolError</a>>>,
|
||||
T: Stream<Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Bytes, PayloadError>> + 'static,</div></code></pre><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 4.0.0: Prefer <code>WsResponseBuilder</code> for setting protocols.</span></div></span><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Do WebSocket handshake and start ws actor.</p>
|
||||
<p><code>protocols</code> is a sequence of known protocols.</p>
|
||||
</div></details></section></div></main></body></html>
|
53
actix_web_actors/ws/index.html
Normal file
53
actix_web_actors/ws/index.html
Normal file
@ -0,0 +1,53 @@
|
||||
<!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="Websocket integration."><title>actix_web_actors::ws - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.0</span></h2></div><h2 class="location"><a href="#">Module ws</a></h2><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><h2><a href="../index.html">In crate actix_web_actors</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">actix_web_actors</a>::<wbr><a class="mod" href="#">ws</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/actix_web_actors/ws.rs.html#1-1059">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Websocket integration.</p>
|
||||
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix::{Actor, StreamHandler};
|
||||
<span class="kw">use </span>actix_web::{get, web, App, Error, HttpRequest, HttpResponse, HttpServer};
|
||||
<span class="kw">use </span>actix_web_actors::ws;
|
||||
|
||||
<span class="doccomment">/// Define Websocket actor
|
||||
</span><span class="kw">struct </span>MyWs;
|
||||
|
||||
<span class="kw">impl </span>Actor <span class="kw">for </span>MyWs {
|
||||
<span class="kw">type </span>Context = ws::WebsocketContext<<span class="self">Self</span>>;
|
||||
}
|
||||
|
||||
<span class="doccomment">/// Handler for ws::Message message
|
||||
</span><span class="kw">impl </span>StreamHandler<<span class="prelude-ty">Result</span><ws::Message, ws::ProtocolError>> <span class="kw">for </span>MyWs {
|
||||
<span class="kw">fn </span>handle(<span class="kw-2">&mut </span><span class="self">self</span>, msg: <span class="prelude-ty">Result</span><ws::Message, ws::ProtocolError>, ctx: <span class="kw-2">&mut </span><span class="self">Self</span>::Context) {
|
||||
<span class="kw">match </span>msg {
|
||||
<span class="prelude-val">Ok</span>(ws::Message::Ping(msg)) => ctx.pong(<span class="kw-2">&</span>msg),
|
||||
<span class="prelude-val">Ok</span>(ws::Message::Text(text)) => ctx.text(text),
|
||||
<span class="prelude-val">Ok</span>(ws::Message::Binary(bin)) => ctx.binary(bin),
|
||||
<span class="kw">_ </span>=> (),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<span class="attr">#[get(<span class="string">"/ws"</span>)]
|
||||
</span><span class="kw">async fn </span>websocket(req: HttpRequest, stream: web::Payload) -> <span class="prelude-ty">Result</span><HttpResponse, Error> {
|
||||
ws::start(MyWs, <span class="kw-2">&</span>req, stream)
|
||||
}
|
||||
|
||||
<span class="kw">const </span>MAX_FRAME_SIZE: usize = <span class="number">16_384</span>; <span class="comment">// 16KiB
|
||||
|
||||
</span><span class="attr">#[get(<span class="string">"/custom-ws"</span>)]
|
||||
</span><span class="kw">async fn </span>custom_websocket(req: HttpRequest, stream: web::Payload) -> <span class="prelude-ty">Result</span><HttpResponse, Error> {
|
||||
<span class="comment">// Create a Websocket session with a specific max frame size, and protocols.
|
||||
</span>ws::WsResponseBuilder::new(MyWs, <span class="kw-2">&</span>req, stream)
|
||||
.frame_size(MAX_FRAME_SIZE)
|
||||
.protocols(<span class="kw-2">&</span>[<span class="string">"A"</span>, <span class="string">"B"</span>])
|
||||
.start()
|
||||
}
|
||||
|
||||
<span class="attr">#[actix_web::main]
|
||||
</span><span class="kw">async fn </span>main() -> std::io::Result<()> {
|
||||
HttpServer::new(|| {
|
||||
App::new()
|
||||
.service(websocket)
|
||||
.service(custom_websocket)
|
||||
})
|
||||
.bind((<span class="string">"127.0.0.1"</span>, <span class="number">8080</span>))<span class="question-mark">?
|
||||
</span>.run()
|
||||
.<span class="kw">await
|
||||
</span>}</code></pre></div>
|
||||
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.CloseReason.html" title="struct actix_web_actors::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.WebsocketContext.html" title="struct actix_web_actors::ws::WebsocketContext">WebsocketContext</a></div><div class="desc docblock-short">Execution context for <code>WebSockets</code> actors</div></li><li><div class="item-name"><a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a></div><div class="desc docblock-short">Builder for Websocket session response.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.CloseCode.html" title="enum actix_web_actors::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.Frame.html" title="enum actix_web_actors::ws::Frame">Frame</a></div><div class="desc docblock-short">A WebSocket frame.</div></li><li><div class="item-name"><a class="enum" href="enum.HandshakeError.html" title="enum actix_web_actors::ws::HandshakeError">HandshakeError</a></div><div class="desc docblock-short">WebSocket handshake errors</div></li><li><div class="item-name"><a class="enum" href="enum.Message.html" title="enum actix_web_actors::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_web_actors::ws::ProtocolError">ProtocolError</a></div><div class="desc docblock-short">WebSocket protocol errors.</div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.handshake.html" title="fn actix_web_actors::ws::handshake">handshake</a></div><div class="desc docblock-short">Prepare WebSocket handshake response.</div></li><li><div class="item-name"><a class="fn" href="fn.handshake_with_protocols.html" title="fn actix_web_actors::ws::handshake_with_protocols">handshake_with_protocols</a></div><div class="desc docblock-short">Prepare WebSocket handshake response.</div></li><li><div class="item-name"><a class="fn" href="fn.start.html" title="fn actix_web_actors::ws::start">start</a></div><div class="desc docblock-short">Perform WebSocket handshake and start actor.</div></li><li><div class="item-name"><a class="fn" href="fn.start_with_addr.html" title="fn actix_web_actors::ws::start_with_addr">start_with_addr</a><span class="stab deprecated" title="">Deprecated</span></div><div class="desc docblock-short">Perform WebSocket handshake and start actor.</div></li><li><div class="item-name"><a class="fn" href="fn.start_with_protocols.html" title="fn actix_web_actors::ws::start_with_protocols">start_with_protocols</a><span class="stab deprecated" title="">Deprecated</span></div><div class="desc docblock-short">Do WebSocket handshake and start ws actor.</div></li></ul></section></div></main></body></html>
|
1
actix_web_actors/ws/sidebar-items.js
Normal file
1
actix_web_actors/ws/sidebar-items.js
Normal file
@ -0,0 +1 @@
|
||||
window.SIDEBAR_ITEMS = {"enum":["CloseCode","Frame","HandshakeError","Message","ProtocolError"],"fn":["handshake","handshake_with_protocols","start","start_with_addr","start_with_protocols"],"struct":["CloseReason","WebsocketContext","WsResponseBuilder"]};
|
31
actix_web_actors/ws/struct.CloseReason.html
Normal file
31
actix_web_actors/ws/struct.CloseReason.html
Normal file
File diff suppressed because one or more lines are too long
90
actix_web_actors/ws/struct.WebsocketContext.html
Normal file
90
actix_web_actors/ws/struct.WebsocketContext.html
Normal file
File diff suppressed because one or more lines are too long
64
actix_web_actors/ws/struct.WsResponseBuilder.html
Normal file
64
actix_web_actors/ws/struct.WsResponseBuilder.html
Normal file
@ -0,0 +1,64 @@
|
||||
<!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="Builder for Websocket session response."><title>WsResponseBuilder in actix_web_actors::ws - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="actix_web_actors" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../../actix_web_actors/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_web_actors/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../../actix_web_actors/index.html">actix_web_actors</a><span class="version">4.3.0</span></h2></div><h2 class="location"><a href="#">WsResponseBuilder</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.codec">codec</a></li><li><a href="#method.frame_size">frame_size</a></li><li><a href="#method.new">new</a></li><li><a href="#method.protocols">protocols</a></li><li><a href="#method.start">start</a></li><li><a href="#method.start_with_addr">start_with_addr</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-WsResponseBuilder%3C'a,+A,+T%3E">!RefUnwindSafe</a></li><li><a href="#impl-Send-for-WsResponseBuilder%3C'a,+A,+T%3E">!Send</a></li><li><a href="#impl-Sync-for-WsResponseBuilder%3C'a,+A,+T%3E">!Sync</a></li><li><a href="#impl-UnwindSafe-for-WsResponseBuilder%3C'a,+A,+T%3E">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-WsResponseBuilder%3C'a,+A,+T%3E">Freeze</a></li><li><a href="#impl-Unpin-for-WsResponseBuilder%3C'a,+A,+T%3E">Unpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-Same-for-T">Same</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In actix_web_actors::ws</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">actix_web_actors</a>::<wbr><a href="index.html">ws</a>::<wbr><a class="struct" href="#">WsResponseBuilder</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/actix_web_actors/ws.rs.html#142-153">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct WsResponseBuilder<'a, A, T><div class="where">where
|
||||
A: Actor<Context = <a class="struct" href="struct.WebsocketContext.html" title="struct actix_web_actors::ws::WebsocketContext">WebsocketContext</a><A>> + StreamHandler<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="enum.Message.html" title="enum actix_web_actors::ws::Message">Message</a>, <a class="enum" href="enum.ProtocolError.html" title="enum actix_web_actors::ws::ProtocolError">ProtocolError</a>>>,
|
||||
T: Stream<Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Bytes, PayloadError>> + 'static,</div>{ <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Builder for Websocket session response.</p>
|
||||
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#[get(<span class="string">"/ws"</span>)]
|
||||
</span><span class="kw">async fn </span>websocket(req: HttpRequest, stream: web::Payload) -> <span class="prelude-ty">Result</span><HttpResponse, Error> {
|
||||
ws::WsResponseBuilder::new(MyWs, <span class="kw-2">&</span>req, stream).start()
|
||||
}
|
||||
|
||||
<span class="kw">const </span>MAX_FRAME_SIZE: usize = <span class="number">16_384</span>; <span class="comment">// 16KiB
|
||||
|
||||
</span><span class="attr">#[get(<span class="string">"/custom-ws"</span>)]
|
||||
</span><span class="kw">async fn </span>custom_websocket(req: HttpRequest, stream: web::Payload) -> <span class="prelude-ty">Result</span><HttpResponse, Error> {
|
||||
<span class="comment">// Create a Websocket session with a specific max frame size, codec, and protocols.
|
||||
</span>ws::WsResponseBuilder::new(MyWs, <span class="kw-2">&</span>req, stream)
|
||||
.codec(actix_http::ws::Codec::new())
|
||||
<span class="comment">// This will overwrite the codec's max frame-size
|
||||
</span>.frame_size(MAX_FRAME_SIZE)
|
||||
.protocols(<span class="kw-2">&</span>[<span class="string">"A"</span>, <span class="string">"B"</span>])
|
||||
.start()
|
||||
}</code></pre></div>
|
||||
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-WsResponseBuilder%3C'a,+A,+T%3E" class="impl"><a class="src rightside" href="../../src/actix_web_actors/ws.rs.html#155-298">source</a><a href="#impl-WsResponseBuilder%3C'a,+A,+T%3E" class="anchor">§</a><h3 class="code-header">impl<'a, A, T> <a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a><'a, A, T><div class="where">where
|
||||
A: Actor<Context = <a class="struct" href="struct.WebsocketContext.html" title="struct actix_web_actors::ws::WebsocketContext">WebsocketContext</a><A>> + StreamHandler<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="enum.Message.html" title="enum actix_web_actors::ws::Message">Message</a>, <a class="enum" href="enum.ProtocolError.html" title="enum actix_web_actors::ws::ProtocolError">ProtocolError</a>>>,
|
||||
T: Stream<Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Bytes, PayloadError>> + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/actix_web_actors/ws.rs.html#163-172">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(actor: A, req: &'a HttpRequest, stream: T) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <code>WsResponseBuilder</code> with actor, request, and payload stream.</p>
|
||||
<p>For usage example, see docs on <a href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder"><code>WsResponseBuilder</code></a> struct.</p>
|
||||
</div></details><details class="toggle method-toggle" open><summary><section id="method.protocols" class="method"><a class="src rightside" href="../../src/actix_web_actors/ws.rs.html#175-178">source</a><h4 class="code-header">pub fn <a href="#method.protocols" class="fn">protocols</a>(self, protocols: &'a [&'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>]) -> Self</h4></section></summary><div class="docblock"><p>Set the protocols for the session.</p>
|
||||
</div></details><details class="toggle method-toggle" open><summary><section id="method.frame_size" class="method"><a class="src rightside" href="../../src/actix_web_actors/ws.rs.html#183-186">source</a><h4 class="code-header">pub fn <a href="#method.frame_size" class="fn">frame_size</a>(self, frame_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</h4></section></summary><div class="docblock"><p>Set the max frame size for each message (in bytes).</p>
|
||||
<p><strong>Note</strong>: This will override any given [<code>Codec</code>]’s max frame size.</p>
|
||||
</div></details><details class="toggle method-toggle" open><summary><section id="method.codec" class="method"><a class="src rightside" href="../../src/actix_web_actors/ws.rs.html#190-193">source</a><h4 class="code-header">pub fn <a href="#method.codec" class="fn">codec</a>(self, codec: Codec) -> Self</h4></section></summary><div class="docblock"><p>Set the [<code>Codec</code>] for the session. If <a href="struct.WsResponseBuilder.html#method.frame_size" title="method actix_web_actors::ws::WsResponseBuilder::frame_size"><code>Self::frame_size</code></a> is also set, the given
|
||||
[<code>Codec</code>]’s max frame size will be overridden.</p>
|
||||
</div></details><details class="toggle method-toggle" open><summary><section id="method.start" class="method"><a class="src rightside" href="../../src/actix_web_actors/ws.rs.html#255-269">source</a><h4 class="code-header">pub fn <a href="#method.start" class="fn">start</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><HttpResponse, Error></h4></section></summary><div class="docblock"><p>Perform WebSocket handshake and start actor.</p>
|
||||
<p><code>req</code> is an [<code>HttpRequest</code>] that should be requesting a websocket protocol change.
|
||||
<code>stream</code> should be a [<code>Bytes</code>] stream (such as <code>actix_web::web::Payload</code>) that contains a
|
||||
stream of the body request.</p>
|
||||
<p>If there is a problem with the handshake, an error is returned.</p>
|
||||
<p>If successful, consume the <a href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder"><code>WsResponseBuilder</code></a> and return a [<code>HttpResponse</code>] wrapped in
|
||||
a <a href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result"><code>Result</code></a>.</p>
|
||||
</div></details><details class="toggle method-toggle" open><summary><section id="method.start_with_addr" class="method"><a class="src rightside" href="../../src/actix_web_actors/ws.rs.html#281-297">source</a><h4 class="code-header">pub fn <a href="#method.start_with_addr" class="fn">start_with_addr</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(Addr<A>, HttpResponse), Error></h4></section></summary><div class="docblock"><p>Perform WebSocket handshake and start actor.</p>
|
||||
<p><code>req</code> is an [<code>HttpRequest</code>] that should be requesting a websocket protocol change.
|
||||
<code>stream</code> should be a [<code>Bytes</code>] stream (such as <code>actix_web::web::Payload</code>) that contains a
|
||||
stream of the body request.</p>
|
||||
<p>If there is a problem with the handshake, an error is returned.</p>
|
||||
<p>If successful, returns a pair where the first item is an address for the created actor and
|
||||
the second item is the [<code>HttpResponse</code>] that should be returned from the websocket request.</p>
|
||||
</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-WsResponseBuilder%3C'a,+A,+T%3E" class="impl"><a href="#impl-Freeze-for-WsResponseBuilder%3C'a,+A,+T%3E" class="anchor">§</a><h3 class="code-header">impl<'a, A, T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a><'a, A, T><div class="where">where
|
||||
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,
|
||||
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-WsResponseBuilder%3C'a,+A,+T%3E" class="impl"><a href="#impl-RefUnwindSafe-for-WsResponseBuilder%3C'a,+A,+T%3E" class="anchor">§</a><h3 class="code-header">impl<'a, A, T> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a><'a, A, T></h3></section><section id="impl-Send-for-WsResponseBuilder%3C'a,+A,+T%3E" class="impl"><a href="#impl-Send-for-WsResponseBuilder%3C'a,+A,+T%3E" class="anchor">§</a><h3 class="code-header">impl<'a, A, T> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a><'a, A, T></h3></section><section id="impl-Sync-for-WsResponseBuilder%3C'a,+A,+T%3E" class="impl"><a href="#impl-Sync-for-WsResponseBuilder%3C'a,+A,+T%3E" class="anchor">§</a><h3 class="code-header">impl<'a, A, T> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a><'a, A, T></h3></section><section id="impl-Unpin-for-WsResponseBuilder%3C'a,+A,+T%3E" class="impl"><a href="#impl-Unpin-for-WsResponseBuilder%3C'a,+A,+T%3E" class="anchor">§</a><h3 class="code-header">impl<'a, A, T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a><'a, A, T><div class="where">where
|
||||
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-WsResponseBuilder%3C'a,+A,+T%3E" class="impl"><a href="#impl-UnwindSafe-for-WsResponseBuilder%3C'a,+A,+T%3E" class="anchor">§</a><h3 class="code-header">impl<'a, A, T> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.WsResponseBuilder.html" title="struct actix_web_actors::ws::WsResponseBuilder">WsResponseBuilder</a><'a, A, T></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
|
||||
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
|
||||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
|
||||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
|
||||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
|
||||
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
|
||||
<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
|
||||
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
|
||||
<p>That is, this conversion is whatever the implementation of
|
||||
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
|
||||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same-for-T" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
|
||||
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
|
||||
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<V, T> VZip<V> for T<div class="where">where
|
||||
V: MultiLane<T>,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -> V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl<T> WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a><S>(self, subscriber: S) -> WithDispatch<Self><div class="where">where
|
||||
S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><Dispatch>,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -> WithDispatch<Self></h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>
|
Reference in New Issue
Block a user