deploy: d11761dac543d52c328a0f82c23ae8cf47438788

This commit is contained in:
matheus23
2026-07-09 07:17:38 +00:00
parent a7e5473b78
commit 1ac22fa7bb
524 changed files with 9944 additions and 9810 deletions
+1 -1
View File
@@ -2,5 +2,5 @@
server_addr: <a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>,
server_cert: CertificateDer&lt;'_&gt;,
opt: <a class="struct" href="struct.Opt.html" title="struct bench::Opt">Opt</a>,
) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.103/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;(Endpoint, Connection)&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Create a client endpoint and client connection</p>
) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.103/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;(<a class="struct" href="../noq/endpoint/struct.Endpoint.html" title="struct noq::endpoint::Endpoint">Endpoint</a>, <a class="struct" href="../noq/connection/struct.Connection.html" title="struct noq::connection::Connection">Connection</a>)&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Create a client endpoint and client connection</p>
</div></details></section></div></main></body></html>
+1 -1
View File
@@ -1,4 +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="API documentation for the Rust `drain_stream` fn in crate `bench`."><title>drain_stream in bench - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bench" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (b6f0945e4 2025-10-08)" data-channel="nightly" data-search-js="search-8d3311b9.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></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]--><rustdoc-topbar><h2><a href="#">drain_stream</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bench/index.html">bench</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">bench</a></div><h1>Function <span class="fn">drain_<wbr>stream</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/bench/lib.rs.html#92-120">Source</a> </span></div><pre class="rust item-decl"><code>pub async fn drain_stream(
stream: RecvStream,
stream: <a class="struct" href="../noq/recv_stream/struct.RecvStream.html" title="struct noq::recv_stream::RecvStream">RecvStream</a>,
read_unordered: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.103/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</code></pre></section></div></main></body></html>
@@ -1,4 +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="API documentation for the Rust `send_data_on_stream` fn in crate `bench`."><title>send_data_on_stream in bench - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bench" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (b6f0945e4 2025-10-08)" data-channel="nightly" data-search-js="search-8d3311b9.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></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]--><rustdoc-topbar><h2><a href="#">send_data_on_stream</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bench/index.html">bench</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">bench</a></div><h1>Function <span class="fn">send_<wbr>data_<wbr>on_<wbr>stream</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/bench/lib.rs.html#122-148">Source</a> </span></div><pre class="rust item-decl"><code>pub async fn send_data_on_stream(
stream: &amp;mut SendStream,
stream: &amp;mut <a class="struct" href="../noq/send_stream/struct.SendStream.html" title="struct noq::send_stream::SendStream">SendStream</a>,
stream_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.103/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</code></pre></section></div></main></body></html>
+1 -1
View File
@@ -3,5 +3,5 @@
cert: CertificateDer&lt;'static&gt;,
key: PrivateKeyDer&lt;'static&gt;,
opt: &amp;<a class="struct" href="struct.Opt.html" title="struct bench::Opt">Opt</a>,
) -&gt; (<a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>, Endpoint)</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Creates a server endpoint which runs on the given runtime</p>
) -&gt; (<a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>, <a class="struct" href="../noq/endpoint/struct.Endpoint.html" title="struct noq::endpoint::Endpoint">Endpoint</a>)</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Creates a server endpoint which runs on the given runtime</p>
</div></details></section></div></main></body></html>
+3 -3
View File
@@ -8,7 +8,7 @@
_pn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
app_limited: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
rtt: &amp;<a class="struct" href="../../noq_proto/connection/paths/struct.RttEstimator.html" title="struct noq_proto::connection::paths::RttEstimator">RttEstimator</a>,
)</h4></section></summary><div class='docblock'>Packet deliveries were confirmed <a href="trait.Controller.html#method.on_ack">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_congestion_event" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#178-186">Source</a><a href="#method.on_congestion_event" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.on_congestion_event" class="fn">on_congestion_event</a>(
)</h4></section></summary><div class='docblock'>Packet deliveries were confirmed <a href="trait.Controller.html#method.on_ack">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_congestion_event" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#184-192">Source</a><a href="#method.on_congestion_event" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.on_congestion_event" class="fn">on_congestion_event</a>(
&amp;mut self,
now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>,
sent: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>,
@@ -16,9 +16,9 @@
is_ecn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
_lost_bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
_largest_lost_pn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
)</h4></section></summary><div class='docblock'>Packets were deemed lost or marked congested <a href="trait.Controller.html#tymethod.on_congestion_event">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_spurious_congestion_event" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#235">Source</a><a href="#method.on_spurious_congestion_event" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_spurious_congestion_event" class="fn">on_spurious_congestion_event</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Packets were incorrectly deemed lost <a href="trait.Controller.html#method.on_spurious_congestion_event">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_mtu_update" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#243">Source</a><a href="#method.on_mtu_update" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.on_mtu_update" class="fn">on_mtu_update</a>(&amp;mut self, new_mtu: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>)</h4></section></summary><div class='docblock'>The known MTU for the current network path has been updated</div></details><details class="toggle method-toggle" open><summary><section id="method.window" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#248">Source</a><a href="#method.window" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.window" class="fn">window</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Number of ack-eliciting bytes that may be in flight</div></details><details class="toggle method-toggle" open><summary><section id="method.metrics" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#252">Source</a><a href="#method.metrics" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.metrics" class="fn">metrics</a>(&amp;self) -&gt; <a class="struct" href="struct.ControllerMetrics.html" title="struct noq::congestion::ControllerMetrics">ControllerMetrics</a></h4></section></summary><div class='docblock'>Retrieve implementation-specific metrics used to populate <code>qlog</code> traces when they are enabled
)</h4></section></summary><div class='docblock'>Packets were deemed lost or marked congested <a href="trait.Controller.html#tymethod.on_congestion_event">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_spurious_congestion_event" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#242">Source</a><a href="#method.on_spurious_congestion_event" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_spurious_congestion_event" class="fn">on_spurious_congestion_event</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Packets were incorrectly deemed lost <a href="trait.Controller.html#method.on_spurious_congestion_event">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_mtu_update" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#250">Source</a><a href="#method.on_mtu_update" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.on_mtu_update" class="fn">on_mtu_update</a>(&amp;mut self, new_mtu: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>)</h4></section></summary><div class='docblock'>The known MTU for the current network path has been updated</div></details><details class="toggle method-toggle" open><summary><section id="method.window" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#255">Source</a><a href="#method.window" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.window" class="fn">window</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Number of ack-eliciting bytes that may be in flight</div></details><details class="toggle method-toggle" open><summary><section id="method.metrics" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#259">Source</a><a href="#method.metrics" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.metrics" class="fn">metrics</a>(&amp;self) -&gt; <a class="struct" href="struct.ControllerMetrics.html" title="struct noq::congestion::ControllerMetrics">ControllerMetrics</a></h4></section></summary><div class='docblock'>Retrieve implementation-specific metrics used to populate <code>qlog</code> traces when they are enabled
This is also used to alter the pacing of the connection with
<code>pacing_rate</code> and <code>send_quantum</code></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_box" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#261">Source</a><a href="#method.clone_box" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.clone_box" class="fn">clone_box</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Controller.html" title="trait noq::congestion::Controller">Controller</a>&gt;</h4></section></summary><div class='docblock'>Duplicate the controllers state</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_window" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#265">Source</a><a href="#method.initial_window" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.initial_window" class="fn">initial_window</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Initial congestion window</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#269">Source</a><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.into_any" class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;<a class="struct" href="struct.Cubic.html" title="struct noq::congestion::Cubic">Cubic</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Returns Self for use in down-casting to extract implementation details</div></details><details class="toggle method-toggle" open><summary><section id="method.on_sent" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#20">Source</a><a href="#method.on_sent" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_sent" class="fn">on_sent</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, largest_pn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>One or more packets were just sent</div></details><details class="toggle method-toggle" open><summary><section id="method.on_packet_sent" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#24">Source</a><a href="#method.on_packet_sent" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_packet_sent" class="fn">on_packet_sent</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, pn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>One packet was just sent</div></details><details class="toggle method-toggle" open><summary><section id="method.on_end_acks" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#44-50">Source</a><a href="#method.on_end_acks" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_end_acks" class="fn">on_end_acks</a>(
<code>pacing_rate</code> and <code>send_quantum</code></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_box" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#268">Source</a><a href="#method.clone_box" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.clone_box" class="fn">clone_box</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Controller.html" title="trait noq::congestion::Controller">Controller</a>&gt;</h4></section></summary><div class='docblock'>Duplicate the controllers state</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_window" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#272">Source</a><a href="#method.initial_window" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.initial_window" class="fn">initial_window</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Initial congestion window</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#276">Source</a><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#tymethod.into_any" class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;<a class="struct" href="struct.Cubic.html" title="struct noq::congestion::Cubic">Cubic</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Returns Self for use in down-casting to extract implementation details</div></details><details class="toggle method-toggle" open><summary><section id="method.on_sent" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#20">Source</a><a href="#method.on_sent" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_sent" class="fn">on_sent</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, largest_pn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>One or more packets were just sent</div></details><details class="toggle method-toggle" open><summary><section id="method.on_packet_sent" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#24">Source</a><a href="#method.on_packet_sent" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_packet_sent" class="fn">on_packet_sent</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, pn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>One packet was just sent</div></details><details class="toggle method-toggle" open><summary><section id="method.on_end_acks" class="method trait-impl"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#44-50">Source</a><a href="#method.on_end_acks" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Controller.html#method.on_end_acks" class="fn">on_end_acks</a>(
&amp;mut self,
now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>,
in_flight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
File diff suppressed because one or more lines are too long
@@ -7,4 +7,4 @@
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Controller.html" title="trait noq::congestion::Controller">Controller</a>&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Constructs controllers on demand</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.build" class="method"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#145">Source</a><h4 class="code-header">fn <a href="#tymethod.build" class="fn">build</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self&gt;, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, current_mtu: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Controller.html" title="trait noq::congestion::Controller">Controller</a>&gt;</h4></section></summary><div class="docblock"><p>Construct a fresh <code>Controller</code></p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-ControllerFactory-for-Bbr3Config" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/bbr3/mod.rs.html#1709">Source</a><a href="#impl-ControllerFactory-for-Bbr3Config" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.Bbr3Config.html" title="struct noq::congestion::Bbr3Config">Bbr3Config</a></h3></section><section id="impl-ControllerFactory-for-CubicConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#298">Source</a><a href="#impl-ControllerFactory-for-CubicConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.CubicConfig.html" title="struct noq::congestion::CubicConfig">CubicConfig</a></h3></section><section id="impl-ControllerFactory-for-NewRenoConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/new_reno.rs.html#172">Source</a><a href="#impl-ControllerFactory-for-NewRenoConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.NewRenoConfig.html" title="struct noq::congestion::NewRenoConfig">NewRenoConfig</a></h3></section></div><script src="../../trait.impl/noq_proto/congestion/trait.ControllerFactory.js" data-ignore-extern-crates="noq_proto" async></script></section></div></main></body></html>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-ControllerFactory-for-Bbr3Config" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/bbr3/mod.rs.html#1709">Source</a><a href="#impl-ControllerFactory-for-Bbr3Config" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.Bbr3Config.html" title="struct noq::congestion::Bbr3Config">Bbr3Config</a></h3></section><section id="impl-ControllerFactory-for-CubicConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#305">Source</a><a href="#impl-ControllerFactory-for-CubicConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.CubicConfig.html" title="struct noq::congestion::CubicConfig">CubicConfig</a></h3></section><section id="impl-ControllerFactory-for-NewRenoConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/new_reno.rs.html#172">Source</a><a href="#impl-ControllerFactory-for-NewRenoConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.NewRenoConfig.html" title="struct noq::congestion::NewRenoConfig">NewRenoConfig</a></h3></section></div><script src="../../trait.impl/noq_proto/congestion/trait.ControllerFactory.js" data-ignore-extern-crates="noq_proto" async></script></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
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
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
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
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,4 +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="Hints when the caller identifies a network change."><title>NetworkChangeHint in noq - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="noq" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (b6f0945e4 2025-10-08)" data-channel="nightly" data-search-js="search-8d3311b9.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">NetworkChangeHint</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../noq/index.html">noq</a><span class="version">1.0.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Network<wbr>Change<wbr>Hint</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.is_path_recoverable" title="is_path_recoverable">is_path_recoverable</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate noq</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">noq</a></div><h1>Trait <span class="trait">Network<wbr>Change<wbr>Hint</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/noq_proto/connection/mod.rs.html#7251">Source</a> </span></div><pre class="rust item-decl"><code>pub trait NetworkChangeHint: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + 'static {
<!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="Hints when the caller identifies a network change."><title>NetworkChangeHint in noq - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="noq" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (b6f0945e4 2025-10-08)" data-channel="nightly" data-search-js="search-8d3311b9.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">NetworkChangeHint</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../noq/index.html">noq</a><span class="version">1.0.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Network<wbr>Change<wbr>Hint</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.is_path_recoverable" title="is_path_recoverable">is_path_recoverable</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate noq</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">noq</a></div><h1>Trait <span class="trait">Network<wbr>Change<wbr>Hint</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/noq_proto/connection/mod.rs.html#7248">Source</a> </span></div><pre class="rust item-decl"><code>pub trait NetworkChangeHint: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + 'static {
// Required method
fn <a href="#tymethod.is_path_recoverable" class="fn">is_path_recoverable</a>(
&amp;self,
@@ -6,7 +6,7 @@
network_path: <a class="struct" href="struct.FourTuple.html" title="struct noq::FourTuple">FourTuple</a>,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Hints when the caller identifies a network change.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.is_path_recoverable" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7260">Source</a><h4 class="code-header">fn <a href="#tymethod.is_path_recoverable" class="fn">is_path_recoverable</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq::PathId">PathId</a>, network_path: <a class="struct" href="struct.FourTuple.html" title="struct noq::FourTuple">FourTuple</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Inform the connection if a path may recover after a network change.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.is_path_recoverable" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7257">Source</a><h4 class="code-header">fn <a href="#tymethod.is_path_recoverable" class="fn">is_path_recoverable</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq::PathId">PathId</a>, network_path: <a class="struct" href="struct.FourTuple.html" title="struct noq::FourTuple">FourTuple</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Inform the connection if a path may recover after a network change.</p>
<p>After network changes, paths may not be recoverable. In this case, waiting for the path to
become idle may take longer than what is desirable. If <a href="trait.NetworkChangeHint.html#tymethod.is_path_recoverable" title="method noq_proto::connection::NetworkChangeHint::is_path_recoverable::is_path_recoverable"><code>Self::is_path_recoverable</code></a>
returns <code>false</code>, a multipath-enabled, client-side connection will establish a new path to
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -104,4 +104,4 @@ BBRs offload budget).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.metrics" class="method"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#107-114">Source</a><h4 class="code-header">fn <a href="#method.metrics" class="fn">metrics</a>(&amp;self) -&gt; <a class="struct" href="struct.ControllerMetrics.html" title="struct noq_proto::congestion::ControllerMetrics">ControllerMetrics</a></h4></section></summary><div class="docblock"><p>Retrieve implementation-specific metrics used to populate <code>qlog</code> traces when they are enabled
This is also used to alter the pacing of the connection with
<code>pacing_rate</code> and <code>send_quantum</code></p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Controller-for-Bbr3" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/bbr3/mod.rs.html#1424-1655">Source</a><a href="#impl-Controller-for-Bbr3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a> for <a class="struct" href="struct.Bbr3.html" title="struct noq_proto::congestion::Bbr3">Bbr3</a></h3></section><section id="impl-Controller-for-Cubic" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#104-272">Source</a><a href="#impl-Controller-for-Cubic" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a> for <a class="struct" href="struct.Cubic.html" title="struct noq_proto::congestion::Cubic">Cubic</a></h3></section><section id="impl-Controller-for-NewReno" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/new_reno.rs.html#43-138">Source</a><a href="#impl-Controller-for-NewReno" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a> for <a class="struct" href="struct.NewReno.html" title="struct noq_proto::congestion::NewReno">NewReno</a></h3></section></div><script src="../../trait.impl/noq_proto/congestion/trait.Controller.js" async></script></section></div></main></body></html>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Controller-for-Bbr3" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/bbr3/mod.rs.html#1424-1655">Source</a><a href="#impl-Controller-for-Bbr3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a> for <a class="struct" href="struct.Bbr3.html" title="struct noq_proto::congestion::Bbr3">Bbr3</a></h3></section><section id="impl-Controller-for-Cubic" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#104-279">Source</a><a href="#impl-Controller-for-Cubic" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a> for <a class="struct" href="struct.Cubic.html" title="struct noq_proto::congestion::Cubic">Cubic</a></h3></section><section id="impl-Controller-for-NewReno" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/new_reno.rs.html#43-138">Source</a><a href="#impl-Controller-for-NewReno" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a> for <a class="struct" href="struct.NewReno.html" title="struct noq_proto::congestion::NewReno">NewReno</a></h3></section></div><script src="../../trait.impl/noq_proto/congestion/trait.Controller.js" async></script></section></div></main></body></html>
@@ -7,4 +7,4 @@
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a>&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Constructs controllers on demand</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.build" class="method"><a class="src rightside" href="../../src/noq_proto/congestion.rs.html#145">Source</a><h4 class="code-header">fn <a href="#tymethod.build" class="fn">build</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self&gt;, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, current_mtu: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a>&gt;</h4></section></summary><div class="docblock"><p>Construct a fresh <code>Controller</code></p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-ControllerFactory-for-Bbr3Config" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/bbr3/mod.rs.html#1709-1713">Source</a><a href="#impl-ControllerFactory-for-Bbr3Config" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq_proto::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.Bbr3Config.html" title="struct noq_proto::congestion::Bbr3Config">Bbr3Config</a></h3></section><section id="impl-ControllerFactory-for-CubicConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#298-302">Source</a><a href="#impl-ControllerFactory-for-CubicConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq_proto::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.CubicConfig.html" title="struct noq_proto::congestion::CubicConfig">CubicConfig</a></h3></section><section id="impl-ControllerFactory-for-NewRenoConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/new_reno.rs.html#172-176">Source</a><a href="#impl-ControllerFactory-for-NewRenoConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq_proto::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.NewRenoConfig.html" title="struct noq_proto::congestion::NewRenoConfig">NewRenoConfig</a></h3></section></div><script src="../../trait.impl/noq_proto/congestion/trait.ControllerFactory.js" async></script></section></div></main></body></html>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-ControllerFactory-for-Bbr3Config" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/bbr3/mod.rs.html#1709-1713">Source</a><a href="#impl-ControllerFactory-for-Bbr3Config" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq_proto::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.Bbr3Config.html" title="struct noq_proto::congestion::Bbr3Config">Bbr3Config</a></h3></section><section id="impl-ControllerFactory-for-CubicConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/cubic.rs.html#305-309">Source</a><a href="#impl-ControllerFactory-for-CubicConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq_proto::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.CubicConfig.html" title="struct noq_proto::congestion::CubicConfig">CubicConfig</a></h3></section><section id="impl-ControllerFactory-for-NewRenoConfig" class="impl"><a class="src rightside" href="../../src/noq_proto/congestion/new_reno.rs.html#172-176">Source</a><a href="#impl-ControllerFactory-for-NewRenoConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ControllerFactory.html" title="trait noq_proto::congestion::ControllerFactory">ControllerFactory</a> for <a class="struct" href="struct.NewRenoConfig.html" title="struct noq_proto::congestion::NewRenoConfig">NewRenoConfig</a></h3></section></div><script src="../../trait.impl/noq_proto/congestion/trait.ControllerFactory.js" async></script></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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -42,7 +42,7 @@
</div></div><div class="sub-variant-field"><span id="variant.VersionNegotiate.field.src_cid" class="section-header"><a href="#variant.VersionNegotiate.field.src_cid" class="anchor field">§</a><code>src_cid: <a class="struct" href="struct.ConnectionId.html" title="struct noq_proto::ConnectionId">ConnectionId</a></code></span><div class="docblock"><p>Source Connection ID</p>
</div></div></div></div><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-ProtectedHeader" class="impl"><a class="src rightside" href="../src/noq_proto/packet.rs.html#605-710">Source</a><a href="#impl-ProtectedHeader" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.ProtectedHeader.html" title="enum noq_proto::ProtectedHeader">ProtectedHeader</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dst_cid" class="method"><a class="src rightside" href="../src/noq_proto/packet.rs.html#614-623">Source</a><h4 class="code-header">pub fn <a href="#method.dst_cid" class="fn">dst_cid</a>(&amp;self) -&gt; <a class="struct" href="struct.ConnectionId.html" title="struct noq_proto::ConnectionId">ConnectionId</a></h4></section></summary><div class="docblock"><p>The destination Connection ID of the packet</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.decode" class="method"><a class="src rightside" href="../src/noq_proto/packet.rs.html#634-709">Source</a><h4 class="code-header">pub fn <a href="#method.decode" class="fn">decode</a>(
buf: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/cursor/struct.Cursor.html" title="struct std::io::cursor::Cursor">Cursor</a>&lt;BytesMut&gt;,
buf: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/cursor/struct.Cursor.html" title="struct std::io::cursor::Cursor">Cursor</a>&lt;impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;&gt;,
cid_parser: &amp;(impl <a class="trait" href="trait.ConnectionIdParser.html" title="trait noq_proto::ConnectionIdParser">ConnectionIdParser</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>),
supported_versions: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>],
grease_quic_bit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
+34 -34
View File
@@ -33,7 +33,7 @@ increasing time. Specifically, calling <a href="struct.Connection.html#method.ha
with events of the same <a href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant"><code>Instant</code></a> may be interleaved in any order with a
call to <a href="struct.Connection.html#method.handle_event" title="method noq_proto::Connection::handle_event"><code>handle_event</code></a> at that same instant; however
events or timeouts with different instants must not be interleaved.</p>
</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-Connection" class="impl"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#316-7204">Source</a><a href="#impl-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_timeout" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#460-462">Source</a><h4 class="code-header">pub fn <a href="#method.poll_timeout" class="fn">poll_timeout</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the next time at which <code>handle_timeout</code> should be called</p>
</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-Connection" class="impl"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#316-7201">Source</a><a href="#impl-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_timeout" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#460-462">Source</a><h4 class="code-header">pub fn <a href="#method.poll_timeout" class="fn">poll_timeout</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the next time at which <code>handle_timeout</code> should be called</p>
<p>The value returned may change after:</p>
<ul>
<li>the application performed some I/O on the connection</li>
@@ -131,38 +131,38 @@ single Transmit using GSO. This must be at least 1.</p>
<p>Will execute protocol logic upon receipt of a connection event, in turn preparing signals
(including application <code>Event</code>s, <code>EndpointEvent</code>s and outgoing datagrams) that should be
extracted through the relevant methods.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_timeout" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2406-2590">Source</a><h4 class="code-header">pub fn <a href="#method.handle_timeout" class="fn">handle_timeout</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>)</h4></section></summary><div class="docblock"><p>Process timer expirations</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_timeout" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2411-2596">Source</a><h4 class="code-header">pub fn <a href="#method.handle_timeout" class="fn">handle_timeout</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>)</h4></section></summary><div class="docblock"><p>Process timer expirations</p>
<p>Executes protocol logic, potentially preparing signals (including application <code>Event</code>s,
<code>EndpointEvent</code>s and outgoing datagrams) that should be extracted through the relevant
methods.</p>
<p>It is most efficient to call this immediately after the system clock reaches the latest
<code>Instant</code> that was output by <code>poll_timeout</code>; however spurious extra calls will simply
no-op and therefore are safe.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.close" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2603-2608">Source</a><h4 class="code-header">pub fn <a href="#method.close" class="fn">close</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, error_code: <a class="struct" href="struct.VarInt.html" title="struct noq_proto::VarInt">VarInt</a>, reason: Bytes)</h4></section></summary><div class="docblock"><p>Close a connection immediately</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.close" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2609-2614">Source</a><h4 class="code-header">pub fn <a href="#method.close" class="fn">close</a>(&amp;mut self, now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>, error_code: <a class="struct" href="struct.VarInt.html" title="struct noq_proto::VarInt">VarInt</a>, reason: Bytes)</h4></section></summary><div class="docblock"><p>Close a connection immediately</p>
<p>This does not ensure delivery of outstanding data. It is the applications responsibility to
call this only when all important communications have been completed, e.g. by calling
<a href="struct.SendStream.html#method.finish" title="method noq_proto::SendStream::finish"><code>SendStream::finish</code></a> on outstanding streams and waiting for the corresponding
<a href="enum.StreamEvent.html#variant.Finished" title="variant noq_proto::StreamEvent::Finished"><code>StreamEvent::Finished</code></a> event.</p>
<p>If <a href="struct.Streams.html#method.send_streams" title="method noq_proto::Streams::send_streams"><code>Streams::send_streams</code></a> returns 0, all outstanding stream data has been
delivered. There may still be data from the peer that has not been received.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.datagrams" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2636-2638">Source</a><h4 class="code-header">pub fn <a href="#method.datagrams" class="fn">datagrams</a>(&amp;mut self) -&gt; <a class="struct" href="struct.Datagrams.html" title="struct noq_proto::Datagrams">Datagrams</a>&lt;'_&gt;</h4></section></summary><div class="docblock"><p>Control datagrams</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.stats" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2641-2653">Source</a><h4 class="code-header">pub fn <a href="#method.stats" class="fn">stats</a>(&amp;mut self) -&gt; <a class="struct" href="struct.ConnectionStats.html" title="struct noq_proto::ConnectionStats">ConnectionStats</a></h4></section></summary><div class="docblock"><p>Returns connection statistics</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.path_stats" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2656-2663">Source</a><h4 class="code-header">pub fn <a href="#method.path_stats" class="fn">path_stats</a>(&amp;mut self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.PathStats.html" title="struct noq_proto::PathStats">PathStats</a>&gt;</h4></section></summary><div class="docblock"><p>Returns path statistics</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ping" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2668-2674">Source</a><h4 class="code-header">pub fn <a href="#method.ping" class="fn">ping</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Ping the remote endpoint</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.datagrams" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2642-2644">Source</a><h4 class="code-header">pub fn <a href="#method.datagrams" class="fn">datagrams</a>(&amp;mut self) -&gt; <a class="struct" href="struct.Datagrams.html" title="struct noq_proto::Datagrams">Datagrams</a>&lt;'_&gt;</h4></section></summary><div class="docblock"><p>Control datagrams</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.stats" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2647-2659">Source</a><h4 class="code-header">pub fn <a href="#method.stats" class="fn">stats</a>(&amp;mut self) -&gt; <a class="struct" href="struct.ConnectionStats.html" title="struct noq_proto::ConnectionStats">ConnectionStats</a></h4></section></summary><div class="docblock"><p>Returns connection statistics</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.path_stats" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2662-2669">Source</a><h4 class="code-header">pub fn <a href="#method.path_stats" class="fn">path_stats</a>(&amp;mut self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.PathStats.html" title="struct noq_proto::PathStats">PathStats</a>&gt;</h4></section></summary><div class="docblock"><p>Returns path statistics</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ping" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2674-2680">Source</a><h4 class="code-header">pub fn <a href="#method.ping" class="fn">ping</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Ping the remote endpoint</p>
<p>Causes an ACK-eliciting packet to be transmitted on the connection.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ping_path" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2679-2686">Source</a><h4 class="code-header">pub fn <a href="#method.ping_path" class="fn">ping_path</a>(&amp;mut self, path: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="struct.ClosedPath.html" title="struct noq_proto::ClosedPath">ClosedPath</a>&gt;</h4></section></summary><div class="docblock"><p>Ping the remote endpoint over a specific path</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ping_path" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2685-2692">Source</a><h4 class="code-header">pub fn <a href="#method.ping_path" class="fn">ping_path</a>(&amp;mut self, path: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="struct.ClosedPath.html" title="struct noq_proto::ClosedPath">ClosedPath</a>&gt;</h4></section></summary><div class="docblock"><p>Ping the remote endpoint over a specific path</p>
<p>Causes an ACK-eliciting packet to be transmitted on the path.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.force_key_update" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2691-2703">Source</a><h4 class="code-header">pub fn <a href="#method.force_key_update" class="fn">force_key_update</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Update traffic keys spontaneously</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.force_key_update" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2697-2709">Source</a><h4 class="code-header">pub fn <a href="#method.force_key_update" class="fn">force_key_update</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Update traffic keys spontaneously</p>
<p>This can be useful for testing key updates, as they otherwise only happen infrequently.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.crypto_session" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2706-2708">Source</a><h4 class="code-header">pub fn <a href="#method.crypto_session" class="fn">crypto_session</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="crypto/trait.Session.html" title="trait noq_proto::crypto::Session">Session</a></h4></section></summary><div class="docblock"><p>Get a session reference</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_handshaking" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2719-2721">Source</a><h4 class="code-header">pub fn <a href="#method.is_handshaking" class="fn">is_handshaking</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the connection is in the process of being established</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.crypto_session" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2712-2714">Source</a><h4 class="code-header">pub fn <a href="#method.crypto_session" class="fn">crypto_session</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="crypto/trait.Session.html" title="trait noq_proto::crypto::Session">Session</a></h4></section></summary><div class="docblock"><p>Get a session reference</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_handshaking" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2725-2727">Source</a><h4 class="code-header">pub fn <a href="#method.is_handshaking" class="fn">is_handshaking</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the connection is in the process of being established</p>
<p>If this returns <code>false</code>, the connection may be either established or closed, signaled by the
emission of a <a href="enum.Event.html#variant.Connected" title="variant noq_proto::Event::Connected"><code>Connected</code></a> or <a href="enum.Event.html#variant.ConnectionLost" title="variant noq_proto::Event::ConnectionLost"><code>ConnectionLost</code></a>
event respectively. Note that locally-initiated closes via <a href="struct.Connection.html#method.close" title="method noq_proto::Connection::close"><code>close()</code></a> do not
emit a <code>ConnectionLost</code> event.</p>
<p>For an established connection this essentially means the handshake is <strong>completed</strong>,
but not necessarily yet confirmed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_closed" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2733-2735">Source</a><h4 class="code-header">pub fn <a href="#method.is_closed" class="fn">is_closed</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the connection is closed</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_closed" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2739-2741">Source</a><h4 class="code-header">pub fn <a href="#method.is_closed" class="fn">is_closed</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the connection is closed</p>
<p>Closed connections cannot transport any further data. A connection becomes closed when
either peer application intentionally closes it, or when either transport layer detects an
error such as a time-out or certificate validation failure.</p>
@@ -170,24 +170,24 @@ error such as a time-out or certificate validation failure.</p>
connection is closed by the peer or due to an error. When the local application closes
the connection via <a href="struct.Connection.html#method.close" title="method noq_proto::Connection::close"><code>close()</code></a>, no <code>ConnectionLost</code> event is emitted;
instead, pending operations fail with <a href="enum.ConnectionError.html#variant.LocallyClosed" title="variant noq_proto::ConnectionError::LocallyClosed"><code>ConnectionError::LocallyClosed</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_drained" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2741-2743">Source</a><h4 class="code-header">pub fn <a href="#method.is_drained" class="fn">is_drained</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether there is no longer any need to keep the connection around</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_drained" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2747-2749">Source</a><h4 class="code-header">pub fn <a href="#method.is_drained" class="fn">is_drained</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether there is no longer any need to keep the connection around</p>
<p>Closed connections become drained after a brief timeout to absorb any remaining in-flight
packets from the peer. All drained connections have been closed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.accepted_0rtt" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2748-2750">Source</a><h4 class="code-header">pub fn <a href="#method.accepted_0rtt" class="fn">accepted_0rtt</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>For clients, if the peer accepted the 0-RTT data packets</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.accepted_0rtt" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2754-2756">Source</a><h4 class="code-header">pub fn <a href="#method.accepted_0rtt" class="fn">accepted_0rtt</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>For clients, if the peer accepted the 0-RTT data packets</p>
<p>The value is meaningless until after the handshake completes.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.has_0rtt" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2753-2755">Source</a><h4 class="code-header">pub fn <a href="#method.has_0rtt" class="fn">has_0rtt</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether 0-RTT is/was possible during the handshake</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.has_pending_retransmits" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2758-2760">Source</a><h4 class="code-header">pub fn <a href="#method.has_pending_retransmits" class="fn">has_pending_retransmits</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether there are any pending retransmits</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.side" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2763-2765">Source</a><h4 class="code-header">pub fn <a href="#method.side" class="fn">side</a>(&amp;self) -&gt; <a class="enum" href="enum.Side.html" title="enum noq_proto::Side">Side</a></h4></section></summary><div class="docblock"><p>Look up whether were the client or server of this Connection</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.path_observed_address" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2768-2777">Source</a><h4 class="code-header">pub fn <a href="#method.path_observed_address" class="fn">path_observed_address</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.has_0rtt" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2759-2761">Source</a><h4 class="code-header">pub fn <a href="#method.has_0rtt" class="fn">has_0rtt</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether 0-RTT is/was possible during the handshake</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.has_pending_retransmits" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2764-2766">Source</a><h4 class="code-header">pub fn <a href="#method.has_pending_retransmits" class="fn">has_pending_retransmits</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether there are any pending retransmits</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.side" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2769-2771">Source</a><h4 class="code-header">pub fn <a href="#method.side" class="fn">side</a>(&amp;self) -&gt; <a class="enum" href="enum.Side.html" title="enum noq_proto::Side">Side</a></h4></section></summary><div class="docblock"><p>Look up whether were the client or server of this Connection</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.path_observed_address" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2774-2783">Source</a><h4 class="code-header">pub fn <a href="#method.path_observed_address" class="fn">path_observed_address</a>(
&amp;self,
path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>&gt;, <a class="struct" href="struct.ClosedPath.html" title="struct noq_proto::ClosedPath">ClosedPath</a>&gt;</h4></section></summary><div class="docblock"><p>Get the address observed by the remote over the given path</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.rtt" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2780-2782">Source</a><h4 class="code-header">pub fn <a href="#method.rtt" class="fn">rtt</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>&gt;</h4></section></summary><div class="docblock"><p>Current best estimate of this connections latency (round-trip-time)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.congestion_state" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2785-2787">Source</a><h4 class="code-header">pub fn <a href="#method.congestion_state" class="fn">congestion_state</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="congestion/trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a>&gt;</h4></section></summary><div class="docblock"><p>Current state of this connections congestion controller, for debugging purposes</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_max_concurrent_streams" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2793-2799">Source</a><h4 class="code-header">pub fn <a href="#method.set_max_concurrent_streams" class="fn">set_max_concurrent_streams</a>(&amp;mut self, dir: <a class="enum" href="enum.Dir.html" title="enum noq_proto::Dir">Dir</a>, count: <a class="struct" href="struct.VarInt.html" title="struct noq_proto::VarInt">VarInt</a>)</h4></section></summary><div class="docblock"><p>Modify the number of remotely initiated streams that may be concurrently open</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.rtt" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2786-2788">Source</a><h4 class="code-header">pub fn <a href="#method.rtt" class="fn">rtt</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>&gt;</h4></section></summary><div class="docblock"><p>Current best estimate of this connections latency (round-trip-time)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.congestion_state" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2791-2793">Source</a><h4 class="code-header">pub fn <a href="#method.congestion_state" class="fn">congestion_state</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="congestion/trait.Controller.html" title="trait noq_proto::congestion::Controller">Controller</a>&gt;</h4></section></summary><div class="docblock"><p>Current state of this connections congestion controller, for debugging purposes</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_max_concurrent_streams" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2799-2805">Source</a><h4 class="code-header">pub fn <a href="#method.set_max_concurrent_streams" class="fn">set_max_concurrent_streams</a>(&amp;mut self, dir: <a class="enum" href="enum.Dir.html" title="enum noq_proto::Dir">Dir</a>, count: <a class="struct" href="struct.VarInt.html" title="struct noq_proto::VarInt">VarInt</a>)</h4></section></summary><div class="docblock"><p>Modify the number of remotely initiated streams that may be concurrently open</p>
<p>No streams may be opened by the peer unless fewer than <code>count</code> are already open. Large
<code>count</code>s increase both minimum and worst-case memory consumption.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_max_concurrent_paths" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2810-2831">Source</a><h4 class="code-header">pub fn <a href="#method.set_max_concurrent_paths" class="fn">set_max_concurrent_paths</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_max_concurrent_paths" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2816-2837">Source</a><h4 class="code-header">pub fn <a href="#method.set_max_concurrent_paths" class="fn">set_max_concurrent_paths</a>(
&amp;mut self,
now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>,
count: <a class="type" href="https://doc.rust-lang.org/nightly/core/num/nonzero/type.NonZeroU32.html" title="type core::num::nonzero::NonZeroU32">NonZeroU32</a>,
@@ -198,16 +198,16 @@ actively reduce paths they must be closed using <a href="struct.Connection.html#
can also be used to close not-yet-opened paths.</p>
<p>If multipath is not negotiated (see the <a href="struct.TransportConfig.html" title="struct noq_proto::TransportConfig"><code>TransportConfig</code></a>) this can not enable
multipath and will fail.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.max_concurrent_streams" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2850-2852">Source</a><h4 class="code-header">pub fn <a href="#method.max_concurrent_streams" class="fn">max_concurrent_streams</a>(&amp;self, dir: <a class="enum" href="enum.Dir.html" title="enum noq_proto::Dir">Dir</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>Current number of remotely initiated streams that may be concurrently open</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.max_concurrent_streams" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2856-2858">Source</a><h4 class="code-header">pub fn <a href="#method.max_concurrent_streams" class="fn">max_concurrent_streams</a>(&amp;self, dir: <a class="enum" href="enum.Dir.html" title="enum noq_proto::Dir">Dir</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>Current number of remotely initiated streams that may be concurrently open</p>
<p>If the target for this limit is reduced using <a href="struct.Connection.html#method.set_max_concurrent_streams" title="method noq_proto::Connection::set_max_concurrent_streams"><code>set_max_concurrent_streams</code></a>,
it will not change immediately, even if fewer streams are open. Instead, it will
decrement by one for each time a remotely initiated stream of matching directionality is closed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_send_window" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2855-2857">Source</a><h4 class="code-header">pub fn <a href="#method.set_send_window" class="fn">set_send_window</a>(&amp;mut self, send_window: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class="docblock"><p>See <a href="struct.TransportConfig.html#method.send_window" title="method noq_proto::TransportConfig::send_window"><code>TransportConfig::send_window()</code></a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_receive_window" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2860-2864">Source</a><h4 class="code-header">pub fn <a href="#method.set_receive_window" class="fn">set_receive_window</a>(&amp;mut self, receive_window: <a class="struct" href="struct.VarInt.html" title="struct noq_proto::VarInt">VarInt</a>)</h4></section></summary><div class="docblock"><p>See <a href="struct.TransportConfig.html#method.receive_window" title="method noq_proto::TransportConfig::receive_window"><code>TransportConfig::receive_window()</code></a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_multipath_negotiated" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2870-2874">Source</a><h4 class="code-header">pub fn <a href="#method.is_multipath_negotiated" class="fn">is_multipath_negotiated</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the Multipath for QUIC extension is enabled.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_send_window" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2861-2863">Source</a><h4 class="code-header">pub fn <a href="#method.set_send_window" class="fn">set_send_window</a>(&amp;mut self, send_window: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</h4></section></summary><div class="docblock"><p>See <a href="struct.TransportConfig.html#method.send_window" title="method noq_proto::TransportConfig::send_window"><code>TransportConfig::send_window()</code></a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_receive_window" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2866-2870">Source</a><h4 class="code-header">pub fn <a href="#method.set_receive_window" class="fn">set_receive_window</a>(&amp;mut self, receive_window: <a class="struct" href="struct.VarInt.html" title="struct noq_proto::VarInt">VarInt</a>)</h4></section></summary><div class="docblock"><p>See <a href="struct.TransportConfig.html#method.receive_window" title="method noq_proto::TransportConfig::receive_window"><code>TransportConfig::receive_window()</code></a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_multipath_negotiated" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#2876-2880">Source</a><h4 class="code-header">pub fn <a href="#method.is_multipath_negotiated" class="fn">is_multipath_negotiated</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the Multipath for QUIC extension is enabled.</p>
<p>Multipath is only enabled after the handshake is completed and if it was enabled by both
peers.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_network_change" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#5835-5976">Source</a><h4 class="code-header">pub fn <a href="#method.handle_network_change" class="fn">handle_network_change</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_network_change" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#5832-5973">Source</a><h4 class="code-header">pub fn <a href="#method.handle_network_change" class="fn">handle_network_change</a>(
&amp;mut self,
hint: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="trait.NetworkChangeHint.html" title="trait noq_proto::NetworkChangeHint">NetworkChangeHint</a>&gt;,
now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>,
@@ -222,26 +222,26 @@ paths as non recoverable when necessary accelerates connectivity re-establishmen
allow it altogether.</p>
<p>The optional <code>hint</code> allows callers to indicate when paths are non-recoverable and should be
migrated to new a <a href="struct.PathId.html" title="struct noq_proto::PathId"><code>PathId</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.current_mtu" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#6993-7000">Source</a><h4 class="code-header">pub fn <a href="#method.current_mtu" class="fn">current_mtu</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a></h4></section></summary><div class="docblock"><p>Storage size required for the largest packet that can be transmitted on all currently
</div></details><details class="toggle method-toggle" open><summary><section id="method.current_mtu" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#6990-6997">Source</a><h4 class="code-header">pub fn <a href="#method.current_mtu" class="fn">current_mtu</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a></h4></section></summary><div class="docblock"><p>Storage size required for the largest packet that can be transmitted on all currently
available paths</p>
<p>Buffers passed to <a href="struct.Connection.html#method.poll_transmit" title="method noq_proto::Connection::poll_transmit"><code>Connection::poll_transmit</code></a> should be at least this large.</p>
<p>When multipath is enabled, this value is the minimum MTU across all available paths.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.add_nat_traversal_address" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7111-7119">Source</a><h4 class="code-header">pub fn <a href="#method.add_nat_traversal_address" class="fn">add_nat_traversal_address</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.add_nat_traversal_address" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7108-7116">Source</a><h4 class="code-header">pub fn <a href="#method.add_nat_traversal_address" class="fn">add_nat_traversal_address</a>(
&amp;mut self,
address: <a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="n0_nat_traversal/enum.Error.html" title="enum noq_proto::n0_nat_traversal::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Add addresses the local endpoint considers are reachable for nat traversal.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_nat_traversal_address" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7124-7135">Source</a><h4 class="code-header">pub fn <a href="#method.remove_nat_traversal_address" class="fn">remove_nat_traversal_address</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_nat_traversal_address" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7121-7132">Source</a><h4 class="code-header">pub fn <a href="#method.remove_nat_traversal_address" class="fn">remove_nat_traversal_address</a>(
&amp;mut self,
address: <a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="n0_nat_traversal/enum.Error.html" title="enum noq_proto::n0_nat_traversal::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Removes an address the endpoing no longer considers reachable for nat traversal</p>
<p>Addresses not present in the set will be silently ignored.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_local_nat_traversal_addresses" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7138-7142">Source</a><h4 class="code-header">pub fn <a href="#method.get_local_nat_traversal_addresses" class="fn">get_local_nat_traversal_addresses</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_local_nat_traversal_addresses" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7135-7139">Source</a><h4 class="code-header">pub fn <a href="#method.get_local_nat_traversal_addresses" class="fn">get_local_nat_traversal_addresses</a>(
&amp;self,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>&gt;, <a class="enum" href="n0_nat_traversal/enum.Error.html" title="enum noq_proto::n0_nat_traversal::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Get the current local nat traversal addresses</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_remote_nat_traversal_addresses" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7145-7152">Source</a><h4 class="code-header">pub fn <a href="#method.get_remote_nat_traversal_addresses" class="fn">get_remote_nat_traversal_addresses</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_remote_nat_traversal_addresses" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7142-7149">Source</a><h4 class="code-header">pub fn <a href="#method.get_remote_nat_traversal_addresses" class="fn">get_remote_nat_traversal_addresses</a>(
&amp;self,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>&gt;, <a class="enum" href="n0_nat_traversal/enum.Error.html" title="enum noq_proto::n0_nat_traversal::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Get the currently advertised nat traversal addresses by the server</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.initiate_nat_traversal_round" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7165-7191">Source</a><h4 class="code-header">pub fn <a href="#method.initiate_nat_traversal_round" class="fn">initiate_nat_traversal_round</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.initiate_nat_traversal_round" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7162-7188">Source</a><h4 class="code-header">pub fn <a href="#method.initiate_nat_traversal_round" class="fn">initiate_nat_traversal_round</a>(
&amp;mut self,
now: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/net/socket_addr/enum.SocketAddr.html" title="enum core::net::socket_addr::SocketAddr">SocketAddr</a>&gt;, <a class="enum" href="n0_nat_traversal/enum.Error.html" title="enum noq_proto::n0_nat_traversal::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Initiates a new nat traversal round</p>
@@ -252,7 +252,7 @@ round is initiated, the previous one is cancelled.</p>
4-tuple.</p>
<p>Returns the server addresses that are now being probed. If addresses fail due to
spurious errors, these might succeed later and not be returned in this set.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Connection" class="impl"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7206-7212">Source</a><a href="#impl-Debug-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7207-7211">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></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-Connection" class="impl"><a href="#impl-Freeze-for-Connection" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-RefUnwindSafe-for-Connection" class="impl"><a href="#impl-RefUnwindSafe-for-Connection" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-Send-for-Connection" class="impl"><a href="#impl-Send-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-Sync-for-Connection" class="impl"><a href="#impl-Sync-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-Unpin-for-Connection" class="impl"><a href="#impl-Unpin-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-UnwindSafe-for-Connection" class="impl"><a href="#impl-UnwindSafe-for-Connection" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Connection" class="impl"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7203-7209">Source</a><a href="#impl-Debug-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7204-7208">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></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-Connection" class="impl"><a href="#impl-Freeze-for-Connection" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-RefUnwindSafe-for-Connection" class="impl"><a href="#impl-RefUnwindSafe-for-Connection" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-Send-for-Connection" class="impl"><a href="#impl-Send-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-Sync-for-Connection" class="impl"><a href="#impl-Sync-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-Unpin-for-Connection" class="impl"><a href="#impl-Unpin-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section><section id="impl-UnwindSafe-for-Connection" class="impl"><a href="#impl-UnwindSafe-for-Connection" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Connection.html" title="struct noq_proto::Connection">Connection</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#212">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#785">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#788">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +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="Hints when the caller identifies a network change."><title>NetworkChangeHint in noq_proto - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="noq_proto" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (b6f0945e4 2025-10-08)" data-channel="nightly" data-search-js="search-8d3311b9.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">NetworkChangeHint</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../noq_proto/index.html">noq_<wbr>proto</a><span class="version">1.0.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Network<wbr>Change<wbr>Hint</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.is_path_recoverable" title="is_path_recoverable">is_path_recoverable</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate noq_<wbr>proto</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">noq_proto</a></div><h1>Trait <span class="trait">Network<wbr>Change<wbr>Hint</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/noq_proto/connection/mod.rs.html#7251-7261">Source</a> </span></div><pre class="rust item-decl"><code>pub trait NetworkChangeHint: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + 'static {
<!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="Hints when the caller identifies a network change."><title>NetworkChangeHint in noq_proto - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="noq_proto" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (b6f0945e4 2025-10-08)" data-channel="nightly" data-search-js="search-8d3311b9.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">NetworkChangeHint</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../noq_proto/index.html">noq_<wbr>proto</a><span class="version">1.0.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Network<wbr>Change<wbr>Hint</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.is_path_recoverable" title="is_path_recoverable">is_path_recoverable</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate noq_<wbr>proto</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">noq_proto</a></div><h1>Trait <span class="trait">Network<wbr>Change<wbr>Hint</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/noq_proto/connection/mod.rs.html#7248-7258">Source</a> </span></div><pre class="rust item-decl"><code>pub trait NetworkChangeHint: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + 'static {
// Required method
fn <a href="#tymethod.is_path_recoverable" class="fn">is_path_recoverable</a>(
&amp;self,
@@ -6,7 +6,7 @@
network_path: <a class="struct" href="struct.FourTuple.html" title="struct noq_proto::FourTuple">FourTuple</a>,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Hints when the caller identifies a network change.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.is_path_recoverable" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7260">Source</a><h4 class="code-header">fn <a href="#tymethod.is_path_recoverable" class="fn">is_path_recoverable</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>, network_path: <a class="struct" href="struct.FourTuple.html" title="struct noq_proto::FourTuple">FourTuple</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Inform the connection if a path may recover after a network change.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.is_path_recoverable" class="method"><a class="src rightside" href="../src/noq_proto/connection/mod.rs.html#7257">Source</a><h4 class="code-header">fn <a href="#tymethod.is_path_recoverable" class="fn">is_path_recoverable</a>(&amp;self, path_id: <a class="struct" href="struct.PathId.html" title="struct noq_proto::PathId">PathId</a>, network_path: <a class="struct" href="struct.FourTuple.html" title="struct noq_proto::FourTuple">FourTuple</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Inform the connection if a path may recover after a network change.</p>
<p>After network changes, paths may not be recoverable. In this case, waiting for the path to
become idle may take longer than what is desirable. If <a href="trait.NetworkChangeHint.html#tymethod.is_path_recoverable"><code>Self::is_path_recoverable</code></a>
returns <code>false</code>, a multipath-enabled, client-side connection will establish a new path to
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
rn_("AQAA9K4QAAABAAEAAQDzAgFz9UYJAAABAAEAAQCKBgEGAPQDEgAAAQABAAEAAQEAOzAAAAEAAAYAAQDCFAYA8wYBZfRvFAAAAQA0AAEAEwYDsEAUmwABsGAThwCJYXJ183sQAAB5AgEA84ACYWUBAwD0thEAAAEAAQABAAECAPTIDwAAAQBRBAEAAYICoBAAABNdsEAS+gABYXMBgAKgAAAADBewcBCMAAFyc+cHAACHoHAAABICkQVBOjAAAAEAAAAAAAwAEAAAAOcB6AHpAeoBeAfhB+IHTwlVDAcQCBAJEBwR")
-1
View File
@@ -1 +0,0 @@
rn_("AQECsCAM8QABsAAMaQABZXPyYwcAAAEAAQUA8x4TAAABAAEA8wQBcvTkDwAAAQDvAAEAE4ACoLAAABReYXPzgAJiYw==")
-1
View File
@@ -1 +0,0 @@
rn_("AQIA9AoRAAABAJIBAQABAAD08g8AAAEA9QAHASOCArBQE1UAAWVzAQIA9CUTAAABAJIAAQABAwD0WxMAAAEAmAABAPOFAmJ1AQIA9HURAAABAHwBAQDzgAJpbPMAA2J0dTowAAABAAAAAAAPABAAAAByB/sH/Af9B/4HGxDhEK8TMRR+FH8UgxSQFJEUtxS7FAEMAPMUFAAAAQABAAGAArAACRkAAaAgAAANA2RuAQYA9CMTAAABAJIAAQDzAwFi9AgRAAABAJIBAQCXBgAAh7BAD/AAAaBwAAASp7CQE1MAATgJAzowAAABAAAAAAAkABAAAADBBcIFwwXEBTQHNQczDPgM+Qz6DP4M/wwADegP6Q88ED0QQRBCEF8QYBBhEGIQYxBkEGUQqBCtENkQ2hCPE7MT2hN0FIAUoxS0FA==")
+1
View File
@@ -0,0 +1 @@
rn_("AQMBsAAM8wNGc/QpDAAAAQABAAEAAQIA9CcMAAABADoFAQAjAAKgQAAADO9lcvK4BAAAAQABgAOgQAAAE96wMBL5AAGgYAAAESBhc3QBAgGgQAAAFGZl8ooUAAABAPOABGxucnY=")
+1
View File
@@ -0,0 +1 @@
rn_("AYACsAARfwABsAARgQABNDYBCwA7MAAAAQAABgABAB8UBgAjgAKggAAAFEllbyMCA6BgAAAT3rBAFLoAAWVucAEjDAAA8wACYXYB3gYAAA==")
+1
View File
@@ -0,0 +1 @@
rn_("AQcA9AQSAAABAAEAAQAjAQKgcAAAEgNhcgF4BwAAAQMAOzAAAAEAAAgAAgCiDwYAXxMBAPMAAmN0OzAAAAEAAFcAJwCoBAsAbwUAAA4JAQAnDAEALwwCAO8MAAD7DAIADQ0BAMwPAADRDwEA1A8BAN4PAABmEAIAbRABAHIQAQCXEAAADxEAABURAABiEQEAbxEBAIMRAQCHEQIA5xEBAPoRAgAAEgAAthIAAL8SAQDEEgEADRMBAB0TAQAiEwEARBMBAFQTAwBaEwEAuxMBAM8TAAA7FAAAZBQEAG0UAgA=")
+1
View File
@@ -0,0 +1 @@
rn_("AQIA9awRAAABAAEAAQABAAGAArBgExcAAaAgAAARAG95AQABoMAAABQ8afRwEwAACAAcABsAAQUA9KkUAAABAAEAAQATgAKwcBSCAAFlaQECAPT+EAAAAQCbAAEAAQIBoEAAABNHcjswAAABAAAHAAIA/BABAJQRBQDzgAJhb2cDAACGsIATRgBasKATvQABDDAGOzAAAAEAAAgAAwAcDAAAxxEDAK0SAwDzggJlaSMAAqCAAAAUuWZo8voIAACfCgEFAPMfEwAAAQABAAEBADswAAABAAAFAAIA/wsDAPcRAQBTAAOwMBRXAAFlcHL05A8AAAEA7wABAAEAA7BAFB0AAaFAAAAUjqBQAAAR7WJjZgEIBwAA84ACbW4BAYSgsAAAE9uwQBC3AAGwwBQKAAGgYAAAEZMUIAT27wYAAGAJAQA7AS4BFwEBBQA7MAAAAQAABQABAN0SBQABBwD1ZxMAAAEAAQABAAEAI4ACoFAAABFkYW/zAIUgSQI7MAAAAQAACAAEAE0HAAB+BwUABA0AAJwRAAA=")
+1
View File
@@ -0,0 +1 @@
rn_("AQAA9K4QAAABAAEAAQDzAgFz9UYJAAABAAEAAQCKBgEGAPQEEgAAAQABAAEAAQEAOzAAAAEAAAYAAQDDFAYA8wYBZfRwFAAAAQA0AAEAEwYDsEAUnAABsGATiACJYXJ183sQAAB6AgEA84ACYWUBAwD0txEAAAEAAQABAAECAPTIDwAAAQBSBAEAAYICoBAAABNesEAS+wABYXMBgAKgAAAADBewcBCMAAFyc+cHAACHoHAAABIDkQVBOjAAAAEAAAAAAAwAEAAAAOcB6AHpAeoBeAfhB+IHTwlVDAcQCBAJEBwR")
+1
View File
@@ -0,0 +1 @@
rn_("AQEA9fQHAAABAAEAAQABAAEAAqAwAAARHKCQAAATlDBo9QMSAACZAQEAAQABABOAAqAwAAAPzGRyIwKEsBAI9wNAsCAMAwEMoDAAAA/0EgAY9ZwFAAAtAAEAAQABADOAhLCgEtEAAbBAD9YAARBJAA==")
+1
View File
@@ -0,0 +1 @@
rn_("AQIBsEAUfQABdDswAAABAAANAAYA/xIDAGwTAQDcEwEA8xMBAHIUAQCaFAEAE4ACsDATMwFJaXABBQDzsRMAAAEAAQATgAKgMAAAFAxleVMBA7BwFBgAAWJlcwFAEAAAE4ADsDAUjwABsCAG+wABZWxz")
-1
View File
@@ -1 +0,0 @@
rn_("AYQCoCAAABEnoDAAABGNaXQBAQA7MAAAAQAAjQACAHMHAAB1CYwA8wACZWz1twQAAMACzQlVAgEAAQIAOzAAAAEAAO4AAgAMDAAAGA3tAMcAAACFsLATQwABsBATyQABsDANFgABFDACOzAAAAEAABoBCwDgAQYAowUAAM0F7QBCBwcAQxACAJwRDQDLEQIApBIBACsTAQB+EwEAFBQCAA==")
-1
View File
@@ -1 +0,0 @@
rn_("AQYA9L4TAAABAAEAAQABDwD0qBQAAAEAAQABAPOHAmhtAQAA9A4TAAABAAEAAQDzBAFk9LESAAABAAEAAQAjh4SwoBRWAAGwQBMMAAGwcBP/AAEVgAABAAGgQAAAEJdlOzAAAAEAAAcAAgBsBwUA+QcBABOAArBQEE0AAWRyAQkA9eATAAABAAEAeAABALcCAICGsCASvAABVFDsruw9EUkB")
+1
View File
@@ -0,0 +1 @@
rn_("AQUAOzAAAAEAAAcAAwDMEQIAfxMBABUUAgABBADzzxEAAAEAAQAjAAKgYAAAEv5hcvPvEAAAAQDKAQGAAqEQAAAUpLCAFJoAAWl1NwQAgoexUBTBAAGgAAAAEM+wcBPfAAGhMAAAFLUKQBsTgAKwEBMKAAFpcg==")
+1
View File
@@ -0,0 +1 @@
rn_("AQMBoAAAABPmcwH5EAAAAQMA9IgQAAABAAEAAQATgAKwUBCMAAFhaQGAArBwFLEAAbBwFD0AAWVyAYACoLAAABR0oDAAABEmbG6XAgAAhqAgAAASoKAgAAAI+LAwDgYAARCRBTowAAABAAAAAAARABAAAACeBNYE1wTYBNkEaQmxD7IPsw+0D04TiBMMFBEUHRQeFDkUOhQBAgA6MAAAAQAAAAAACgAQAAAAUQlSCSIQchNzE6MTpBNOFKcUvxTAFAEAADswAAABAAAGAAIAjxMAAPcTBQABAgGwMBNfAAFjOjAAAAEAAAAAABMAEAAAAPsMzA9mEGcQaBBtEG4QchBzEA8RgxGHEYgRiREAElQTVRM7FGQUZRQBAwDzyRMAAGoAAQATgQKwQBFvAAFhZROAAqCwAAAUe2FlAQEBsEAUZwABZfUrFAAAAQABAAEAAQATgAKgEAAADA9hb4cPAADIsDAJCQdusEAUbQABoIAAABKbQEyICfPyBwAAJQQ/AAGAAqCAAAATeaCQAAATUWFrAQMA88ESAAABAAEAI4CEsSAUvQABoAAAAAksoDAAAA/TBAQGAQgA9cUUAAABAAEAAQABABOKArBAFJwAAWFyk4CEoMAAABNNoQAAABQaAUAGAQMBoEAAABH6ZfMFDQAAFAQBAAEFAPS/EwAAAQABAAEAo4CEoIAAABM5sAATdAABEQAGAQYA9KkUAAABAAEAAQDzCAFt9K0SAAABAAEAAQABAgA7MAAAAQAABQABAJMUBQDzDQFtOzAAAAEAAAUAAQBPFAUAAQQA9w0NAAABAKgFDgABAJEAAQABAwGAE4EAEPhzOzAAAAEAAAUAAQBhEwUAI4ICoJAAABRjaXMBBQGgUAAAFCho8rsSAAABABOAArAwE3QAAW50AYACoIAAABOUsEAR8wABYWUBgAKgEAAAERugAAAAEWFucgEJAaBAAAAUZmXyihQAAAEAI4ACoJAAABPMaWzHIwAACqAwAAARHLBQEygAAbDwFLMAAbBwE5EAAaDQAAAUbzBiY2VoaWtub3Y7MAAAAQAAHwAMAA4MAADzEAMAIBEAAAMSBACNEwEAnBMDANMTAQAaFAAAHxQGAD0UAQBJFAAAYBQBAAECAqCwAAAUWaCwAAAUWmNz89AQAAABAF8AAQECsFAR8wABoMAAABQoaGny0xMAAAEA84ACZWkBAQGwkBONAAFz9LIQAAABAAEAAQABAwGgAAAAEO5zAVUQAADzgANoaXQBAQGgUAAAEwxjAc8MAAABBQGwgBRgAAF2OzAAAAEAAAcAAgDSEQMAwxMDAAEBAPR1EAAAAQC0AAEA44CEsHAR9wABDggA97UHANCwkBKZAAGgUAAAERSgoAAAE7CgEAAAB05AP70pOzAAAAEAAD0AGADGBAAAyAQAAJkFAgAVBwMA+wsDANIMAQDADwIAzg8AAPgPAAABEAEAIxABADMRCACKEQAA2xIBAOQSAQDoEgEASRMBAGcTBAC9EwEAxxMBAMwTAABDFAQAShQDALkUAAA=")
+1
View File
@@ -0,0 +1 @@
rn_("AQIA9LERAAABAAEAAQABAQDzzxEAAAEAAQATgAJWyrWzZe5lcwEKAPTDEwAAAQABAAEAAYACsCAUPwABoGAAABOQb3YBgAKwMBLGAAGgAAAAE0hjZPOAhQUQBg==")
-1
View File
@@ -1 +0,0 @@
rn_("AQABsIAUPAABcPI4FAAAAQBDBQOgIAAAEWCgQAAAErVkZXPz+A8AAFADAQABAgA7MAAAAQAAEwABACUQEwATgYSgUAAAERCgEAAADCagIAAADPAcQAAzgAOwUBOEAAFhZm4=")
-1
View File
@@ -1 +0,0 @@
rn_("AQMAOzAAAAEAAI0AAgD3EAAACBKMAAEAAbBwE8wAAWXy4g8AAAEA8wABc/RNEAAAAQBNBAEAM4ADoGAAABGqZGlv")
+1
View File
@@ -0,0 +1 @@
rn_("AQMAOzAAAAEAAI0AAgBzBwAAdQmMAAGEArBwFDkAAaBAAAARGGlzAQcA8/EQAAABABYBI4ACoLAAABLXYXQBAAOwMAkhAAGwMBOaAAGgIAAAB3RhZG8BFwIAADcDAICGoMAAABQxsAAUBAABAJgV")
+1
View File
@@ -0,0 +1 @@
rn_("AQEBoEAAABGKc/U1DAAAKwVKAQEAAQATggKgIAAADQxlcgECAPTuDwAAAQD3AAEAI4ECoBAAAAw0ZWkTgAKg8AAAFClucjMAA7AwCSYAAWVvdAHeEQAA")
-1
View File
@@ -1 +0,0 @@
rn_("AQEAOjAAAAEAAAAAAAkAEAAAAN8P4A/WEJIR8BLxEvETeBSuFK8UAYACsOAT6wABsDAUAwABZHDDgISxQBTAAAGgkAAAE68CgAk=")
-1
View File
@@ -1 +0,0 @@
rn_("AQEA8/kPAAABAAEAAYmEoIAAABS3oEAAABRhoGAAABSDoJAAABS7AoAKE4EDoKAAABPxsNAUWgABY2l1M4ADsMAUuQABYXR1")
+1
View File
@@ -0,0 +1 @@
rn_("AQABoLAAABPPYvNZEwAALgEBAAGAAqAgAAAPz6AwAAAT22Fy8wABdAF9BwAAAQQBoEAAABRmZfKKFAAAAQABBQA7MAAAAQAACwAFAFkQBQDREgEAAhQBAFkUAAB4FAAA4wGEoDAAAA/NhQACOzAAAAEAAAsABQCmBQIAvAYEAFcMAQCMEQAA4xIAAGOAA6AAAAATWGRucg==")
+1
View File
@@ -0,0 +1 @@
rn_("AQEA9yMRAAABAAEA2AIBAIsABQABAgD0shAAAAEAAQABABOAAqDQAAAUdGNz84ACZW8jgQKwAAdSAAFsdCOAA7AABbMAAbCgFAoAAWRydA==")
-1
View File
@@ -1 +0,0 @@
rn_("AQAA9CkTAAABAFoBAQDzBAFzOzAAAAEAAA0AAgCmEwcAnRQFAEcAAAWGoIAAABOGsQAUrAABsEAS4wABsIAUvAABsFATKwABFQAW9JYOAAABAAEAAQBDAISgIAAACSug0AAAE5KgMAAACQsVAATzAwIAAAEAcAU=")
+1
View File
@@ -0,0 +1 @@
rn_("AQIBsEATuwABZfLCBgAAAQABBADzbxAAAAEAAQBDAAOwQBMdAAGxABQCAAFlZnA7MAAAAQAAJAAGABkCAADRBgwA3wYMAKIPBgAQEQAAXxMBAGOAA7AwDBEABWFlaQ==")
-1
View File
@@ -1 +0,0 @@
rn_("AQMA88ASAAABAAEAI4ECsSAUvAABY2sBBAGgQAAAEfll8wUNAAAUBAEAAQAAOzAAAAEAAAUAAgDzEAMAjBMBAHOAhKAwAAAUOggwAQ==")
-1
View File
@@ -1 +0,0 @@
rn_("AQQBoFAAABRecwGgEgAAAYICsEASxwABsEASyQABNDYBCwDzyBMAAGoAAQABBgD0tRQAAAEACgABAPMCAXIBERQAAPMDAWU7MAAAAQAABQACAH8QAwAwEQEA84QDYWVpY4ADoFAAABSYY2V0")
-1
View File
@@ -1 +0,0 @@
rn_("AQIAOzAAAAEAAAUAAgB/DAMAGhMBAAECAPN7EQAAAQABAAEGAPSoFAAAAQABAAEA8wYBbfSsEgAAAQABAAEA84ACbnbzgAJhaQ==")
-1
View File
@@ -1 +0,0 @@
rn_("AQMBsDATXgABY/OGEQAAAQABAAEDAYATgAAQ+HM7MAAAAQAABQABAGATBQAjggKgkAAAFGJpcwcBAIDFsFATJwABoKAAABPLsHATkAABoNAAABRugAEYCPOAAmRy")
+1
View File
@@ -0,0 +1 @@
rn_("AQYA9BYRAAABAL8AAQATgQOgAAAAEV+xIBSlAAFhZG4BBQD0iBAAAAEAAQABAAEUAPXFFAAAAQABAAEAAQABBQGwgBRgAAF2OzAAAAEAAAcAAgDSEQMAwxMDACOAArBwEfcAAWJkVwIAAYawwBONAAGgoAAAE7CgkAAAE3kF4AI7MAAAAQAABQACABUHAwABEAEAAQYA89USAAABAK0AAQABoGAAAA/tcgGQBAAA1wEAgMWgMAAADA0AAIoK")
+1
View File
@@ -0,0 +1 @@
rn_("AQMA82YQAAABAAEAAYACoLAAABQosDATdAABbnRDAAOgIAAAERuwUBHzAAFlaGk7MAAAAQAABgADAA4MAAAEEgMA0xMBAPOAAmRy")
-1
View File
@@ -1 +0,0 @@
rn_("AQkBoIAAABS4ZgGYEwAAAQIA9dwQAAABAAEAXwIBAPMAAml1OjAAAAEAAAAAAAcAEAAAALYQ7xLeE98TDhQPFC8UMBQBCAD1QhQAAAEAAQABAAEA8wIBZvWaEAAAAQABAAEAAQATgAKwoBSOAAFydPMCAmFz88oQAAABAAEAAQQBsEAUZgABZfUqFAAAAQABAAEAAQABAgA7MAAAAQAACwACANQTBQCSFAUA8wMBbTswAAABAAANAAQA0AwAAG0RAADpEgUAThQFAPOBAmNl84ACYWU=")
-1
View File
@@ -1 +0,0 @@
rn_("AQIA9F4MAAABACIIAQAjgAKwABAjAAFlaQGJArAgFHEAAaAwAAAUe2lwEwADoCAAABMtoIAAABNCZWl19RAMAAA6AAEAAQABAAGGArCQFJkAAaAAAAASuWJkAYACsDATIQABoDAAABD4cnbXAAAAhaAwAAAQbKAwAAATeRABEzowAAABAAAAAAAKABAAAAD7CPwI/QgtCS4JHwyHEI4QSBFJEf0SY4ADsBAI7wABZG10")
-1
View File
@@ -1 +0,0 @@
rn_("AQEAOzAAAAEAAAYAAQBkEQYAAQAA9x8JAAABAF0HAQBzAAEAFQEBggKgIAAAESegMAAAEY1pdPOAA2FncwEBAaBAAAAUOmXyaBQAAAEAI4ACsFAT7wABZnPzgAJpbw==")
+1
View File
@@ -0,0 +1 @@
rn_("AQMAOzAAAAEAAEQAAgAeCQAAhAxDAAEFAPTEEAAAAQABAAEAE4ACsLATpQABYWwBBAD0sQ8AAAEAAQABAHMABKAQAAAQeGJwcnY7MAAAAQAACgACAGURBgC7EQMAAYACsIAREwIksOAUDQABaXIBAwGwQBFiAAFlAZUOAAABBQA7MAAAAQAABgABAF8QBgABAwA7MAAAAQAABQABANcMBQDzAAJwczowAAABAAAAAAANABAAAACpBaoFwQYSCVkMZgwGEQcRtxK4Eg8TEBMRExITVwAAAIWwUBC2AjqwUA/QANOgQAAAEY1IgAM7MAAAAQAADwAGAKIEAABoBQMAvQ8AAOMRAwCyEgMA5hIBANMAhKBgAAAM6xAIBvOvAQAAAQAaCw==")
+1
View File
@@ -0,0 +1 @@
rn_("AYkCsCAUcgABoDAAABR8aXATAAOgIAAAEy6ggAAAE0NlaXX1EAwAADoAAQABAAEAAYYCsJAUmgABoAAAABK6YmQBgAKwMBMiAAGgMAAAEPhydtcAAACFoDAAABBsoDAAABN6EAETOjAAAAEAAAAAAAkAEAAAAPsI/Aj9CC0JLgmHEI4QSRFKEf4S")
+1
View File
@@ -0,0 +1 @@
rn_("AQACoKAAABM4oDAAAAzOYWkBehMAAAEAAbAwEUsAAW7yWAcAAAEAAQEA89QHAADZBwEAEwADsCAQGAMgoFAAABCoZWlz9VsEAAABAAEAAQABAAGEArCgFBsAAbCgFB0AAWNy8wEBdPTtEQAA6wABAAEAAQMBsGAUawABZjswAAABAAAHAAMACAwDAIsTAQATFAEA84ACYWXzgIQAKAU=")
-1
View File
@@ -1 +0,0 @@
rn_("AQUA9OgPAAABAPAAAQCDAISgQAAADPuwcBNxAAGwIAx4AAEQBQI7MAAAAQAACQADALsEAwB/BQIAzhECAAGAAqAgAAARJbAgFDwAAWR0AYQCsLAUjgABsAAT3gABYXPTgISgsAAAFHNAKAQ=")
+1
View File
@@ -0,0 +1 @@
rn_("AQMAOzAAAAEAAAUAAQDdEgUAAQQBoFAAABQoaPK7EgAAAQABAAKwQBO7AAGgoAAAFEhlcjowAAABAAAAAAAHABAAAADCBsMGYQdiB+4P7w/mEOcQ84ADZ2lz")
-1
View File
@@ -1 +0,0 @@
rn_("AQQA9HQUAAAMACMAEQABAgGwQBK+AAFlAcsPAAABgAKgkAAAFDagkAAAFDcyM5cCAADGoCAAAAx0oGAAABFEsGANCAABAWQAAzswAAABAAAKAAMAGQcFAEAMAAB6EwMA")
-1
View File
@@ -1 +0,0 @@
rn_("AYYCoAAAABNXoAAAABNYZHIBgAKgcAAAE+qgMAAAERhmdAELAaBAAAAUOmXyaBQAAAEAI4ECsFAQ7wABY3YBAAGwgBQ8AAFw8jgUAAABAEMGA6AgAAARYKBAAAAStWRlc/P4DwAAUAMBAPMABGlyc3Y7MAAAAQAADwAFAPQGBQDcEgUACRMBAIMTAABzFAAA")
+1
View File
@@ -0,0 +1 @@
rn_("AQIA9AoRAAABAJMBAQABAAD08g8AAAEA9QAIASOCArBQE1YAAWVzAQIA9CYTAAABAJIAAQABAwD0XBMAAAEAmAABAPOFAmJ1AQIA9HYRAAABAHwBAQDzgAJpbPMAA2J0dTowAAABAAAAAAAPABAAAAByB/sH/Af9B/4HGxDhELATMhR/FIAUhBSRFJIUuBS8FAEMAPMVFAAAAQABAAGAArAACRkAAaAgAAANA2RuAQYA9CQTAAABAJIAAQDzAwFi9AgRAAABAJMBAQCXBgAAh7BAD/AAAaBwAAASqLCQE1QAATgJAzowAAABAAAAAAAkABAAAADBBcIFwwXEBTQHNQczDPgM+Qz6DP4M/wwADegP6Q88ED0QQRBCEF8QYBBhEGIQYxBkEGUQqBCtENkQ2hCQE7QT2xN1FIEUpBS1FA==")
+1
View File
@@ -0,0 +1 @@
rn_("AQIA9awRAAABAAEAAQABAAGAArBgExcAAaAgAAARAG95AQABoMAAABQ8afRwEwAACAAcABsAAQMA9JUTAAABAAEAAQABBQD0qRQAAAEAAQABABOAArBwFIIAAWVpAQIA9P4QAAABAJsAAQABAgGgQAAAE0dyOzAAAAEAAAcAAgD8EAEAlBEFAPOAAmFvZwcAAIewgBNGAFqwoBO9AAEMMAc7MAAAAQAADgAEAJUEBQAcDAAAxxEDAK0SAwCnAACAhaDwAAAT0LBQEE8AAaCQAAARi5SBAA==")
-1
View File
@@ -1 +0,0 @@
rn_("AYADoIAAABLWsFAS/AA8sHAULwABYWNzAQABoIAAABS4ZvL6CAAAngoBBwD1ZhMAAAEAAQABAAEAI4ACoFAAABFjYW/zAAJmczswAAABAAAIAAQATQcAAH4HBQAEDQAAmxEAAPOAAmR5")
+1
View File
@@ -0,0 +1 @@
rn_("AYACsRAUnAABsBAMUwABZW8BBQA7MAAAAQAADQABAJ0RDQABAgDzBxAAAAEAAQABAgD0AxAAAAEAAQABAAEDADswAAABAAAIAAEAuRAIAIcHAACHsKATxwABsNAUXQABoFAAABQojBQROzAAAAEAAAYAAwBWBwAA6hADALsSAQDzgAJsdBOAA6AgAAAMzrCgFEEAAWFkbg==")
+1
View File
@@ -0,0 +1 @@
rn_("AQIAOzAAAAEAAAUAAQCTFAUA8w0BbTswAAABAAAFAAEATxQFACMDA7BAEsQAAbAAE4gAiWVmczswAAABAAAYAAYANBEHAOgSAQBnEwQAQxQEAEoUAwC5FAAA")
-1
View File
@@ -1 +0,0 @@
rn_("AQMBoEAAABQ6ZfJoFAAAAQABAAD0DhMAAAEAAQABAPMEAWT0sRIAAAEAAQABAKcAAAKFsKAUVgABsEATDAABsHAT/wABFYgAASgUAAABAAGwgBQ8AAFw8jgUAAABAEMAA6AgAAARYKBAAAAStWRlc/P4DwAAUAMBAPOAAmVp")
+1
View File
@@ -0,0 +1 @@
rn_("AQYA9I8RAAABAAEAAQABAgA7MAAAAQAACgAEAI8QBQDTEgEANBMBAFoUAADzgAJmbgEBADswAAABAAAIAAIAog8GAF8TAQDzgAJkbgEBAPMuBwAAAQABAAGGAqAAAAATWKAAAAATWWRy8wEBdgGEEwAAQwADsIAS6AABsLAUjAABa2xyOzAAAAEAAAwAAwAlBwgABg0BAEgQAQABAgD19AcAAAEAAQABAAEA8wCEFEEAAYAAAAA=")
+1
View File
@@ -0,0 +1 @@
rn_("AQMBgBOBABD4czswAAABAAAFAAEAYRMFACOCAqCQAAAUY2lzAQEA9CYTAAABAJIAAQAjgAKwoBQNAAFjbgGEArCgFBsAAbCgFB0AAWNyAQIAOzAAAAEAAAYAAQBfEAYAE4ICoCAAABP/ZXUBAgDzzxEAAAEAAQABgAKwIBQ/AAGgYAAAE5BvdmOBA6AQAAATSGFjcwEDADswAAABAAAFAAEA1wwFAAEBAPMbCQAAAQABAAEBAPT+EAAAAQCbAAEAU4ADoMAAABRvbnB1AYACsDAQHAABoWAAABSoYWUBgQKwQBLIAAGwQBLKAAE0NgEFAaBQAAAUKGjyuxIAAAEAAQUA9HUQAAABALQAAQBzgISwMBN0AAEBoAQBCADzcBMAAAgAHAATgAKwQBHzAAFhZQEKAPPJEwAAagABAAEAAaAgAAAQl3IBYREAAAEAAPTNEwAAAQBKAAEApwEAgIWgMAAAEPugEAAAERsJICEBCQGgQAAAFGZl8ooUAAABAEOAhKAgAAAUdKCQAAATzKEwAAAUiRBJAAECAPRcEwAAAQCYAAEAE4ACsEATKAABaXkBAQKgMAAAEv6gQAAAE0dncjswAAABAAAHAAIA/BABAJQRBQABgAKwABPnAAGwABPpAAE0NgEGAPS2FAAAAQAKAAEA8wICcnYBEhQAAPMCAWU7MAAAAQAABQACAH8QAwAxEQEA84ACZHTn1x8AEaAwAAARHLDwFLMAAbBwE5EAATBhYmNlaGlrbG5vcHJzdHV2OzAAAAEAABkBRQDDBAAAqQUBALEFAACzBQEAwQYAACQHAABKBwIAWgcAAGwHBQBzBwAA1AcAAPkHAQD/CAEABQkBABIJAABxCQEAdQmMAP8LAwAODAAAEgwDACAMAABZDAAAZgwAAK0PAQDYDwUAWBAAAIUQAQCZEAAAphABAO8QAQDzEAMABhEBACARAAA+EQEAXxEAAHwRAgCrEQAAyxEAAO0RAADxEQEA9xEBAAMSBACoEgAAtxIBALoSAADGEgEA2BICAA8TAwAkEwEAMRMBADoTAQBAEwEAQxMAAEYTAABYEwAAbhMBAI0TAQCcEwQAtxMBAMoTAQDNEwEA0xMBAN4TAAAYFAIAHxQGAD0UAQBJFAAAYBQBAIwUAQA=")
+1
View File
@@ -0,0 +1 @@
rn_("AQEA9UoJAAABAAEAAQABAPMAAWnysxQAAAEAAQQCoCAAABHeoDAAABKpYmgByg8AAKcAAIDFoBAAAAzusBAUnAABoDAAABB8BBAoAQ==")
+1
View File
@@ -0,0 +1 @@
rn_("AQABsIAT7AABdAEUCQAAAQkA884SAAABAAEA84ACY2cBgwKgkAAAFDegkAAAFDgyMwGAAqBQAAAUY6CAAAAThGNl8wACc3TyQAcAAAEAAQABoLAAABPPYvNZEwAALgEBACOAAqAAAAATWGRyI4ACoFAAABQpY2XzgAJpeQEGAPVAEQAAAQABAAEAAQABAQGwQBRnAAFl9SsUAAABAAEAAQABAPcAAICFoBAAAAwPKWAA")
+1
View File
@@ -0,0 +1 @@
rn_("AQIBsEAUfQABdDswAAABAAANAAYA/xIDAGwTAQDcEwEA8xMBAHIUAQCaFAEAE4ACsDATMwFJaXABBQDzsRMAAAEAAQATgAKgMAAAFAxleVMAA7BwFBgAAWJlcwFAEAAA")

Some files were not shown because too many files have changed in this diff Show More