From 049ad4a6984f442bcde2deb3e1ae7539bc2f06cf Mon Sep 17 00:00:00 2001 From: rklaehn Date: Thu, 26 Mar 2026 12:38:11 +0000 Subject: [PATCH] deploy: 4afe31ab116bc1ad93f05996cf17de8dab786379 --- pr/547/docs/bench/fn.connect_client.html | 2 +- pr/547/docs/bench/fn.drain_stream.html | 2 +- pr/547/docs/bench/fn.send_data_on_stream.html | 2 +- pr/547/docs/bench/fn.server_endpoint.html | 2 +- pr/547/docs/help.html | 2 +- pr/547/docs/noq/congestion/index.html | 2 +- pr/547/docs/noq/congestion/struct.Bbr.html | 14 ++-- .../docs/noq/congestion/struct.BbrConfig.html | 8 +-- .../congestion/struct.ControllerMetrics.html | 4 +- pr/547/docs/noq/congestion/struct.Cubic.html | 14 ++-- .../noq/congestion/struct.CubicConfig.html | 8 +-- .../docs/noq/congestion/struct.NewReno.html | 14 ++-- .../noq/congestion/struct.NewRenoConfig.html | 10 +-- .../docs/noq/congestion/trait.Controller.html | 30 ++++---- .../congestion/trait.ControllerFactory.html | 6 +- pr/547/docs/noq/crypto/index.html | 2 +- pr/547/docs/noq/crypto/rustls/index.html | 2 +- .../crypto/rustls/struct.HandshakeData.html | 2 +- .../rustls/struct.NoInitialCipherSuite.html | 4 +- .../rustls/struct.QuicClientConfig.html | 14 ++-- .../rustls/struct.QuicServerConfig.html | 18 ++--- .../noq/crypto/rustls/struct.TlsSession.html | 8 +-- .../docs/noq/crypto/struct.CryptoError.html | 4 +- .../struct.ExportKeyingMaterialError.html | 6 +- pr/547/docs/noq/crypto/struct.KeyPair.html | 2 +- pr/547/docs/noq/crypto/struct.Keys.html | 2 +- .../noq/crypto/struct.UnsupportedVersion.html | 4 +- .../docs/noq/crypto/trait.ClientConfig.html | 10 +-- .../noq/crypto/trait.HandshakeTokenKey.html | 6 +- pr/547/docs/noq/crypto/trait.HeaderKey.html | 10 +-- pr/547/docs/noq/crypto/trait.HmacKey.html | 10 +-- pr/547/docs/noq/crypto/trait.PacketKey.html | 18 ++--- .../docs/noq/crypto/trait.ServerConfig.html | 14 ++-- pr/547/docs/noq/crypto/trait.Session.html | 32 ++++----- pr/547/docs/noq/enum.ConfigError.html | 6 +- pr/547/docs/noq/enum.ConnectError.html | 6 +- pr/547/docs/noq/enum.ConnectionError.html | 10 +-- pr/547/docs/noq/enum.Dir.html | 16 ++--- pr/547/docs/noq/enum.EcnCodepoint.html | 10 +-- pr/547/docs/noq/enum.FrameType.html | 14 ++-- pr/547/docs/noq/enum.Side.html | 20 +++--- pr/547/docs/noq/index.html | 2 +- .../docs/noq/struct.AckFrequencyConfig.html | 10 +-- pr/547/docs/noq/struct.ApplicationClose.html | 6 +- pr/547/docs/noq/struct.BloomTokenLog.html | 10 +-- pr/547/docs/noq/struct.Chunk.html | 6 +- pr/547/docs/noq/struct.ClientConfig.html | 18 ++--- pr/547/docs/noq/struct.ClosedStream.html | 6 +- pr/547/docs/noq/struct.Connection.html | 22 +++--- pr/547/docs/noq/struct.ConnectionClose.html | 10 +-- pr/547/docs/noq/struct.ConnectionId.html | 16 ++--- pr/547/docs/noq/struct.ConnectionStats.html | 4 +- pr/547/docs/noq/struct.EndpointConfig.html | 24 +++---- pr/547/docs/noq/struct.FrameStats.html | 6 +- pr/547/docs/noq/struct.IdleTimeout.html | 14 ++-- pr/547/docs/noq/struct.Incoming.html | 2 +- pr/547/docs/noq/struct.InvalidCid.html | 4 +- .../docs/noq/struct.MtuDiscoveryConfig.html | 12 ++-- .../docs/noq/struct.NatTraversalUpdates.html | 2 +- pr/547/docs/noq/struct.NoneTokenLog.html | 4 +- pr/547/docs/noq/struct.NoneTokenStore.html | 4 +- pr/547/docs/noq/struct.OpenPath.html | 2 +- pr/547/docs/noq/struct.Path.html | 18 ++--- pr/547/docs/noq/struct.PathEvents.html | 4 +- pr/547/docs/noq/struct.PathId.html | 26 +++---- pr/547/docs/noq/struct.PathStats.html | 6 +- pr/547/docs/noq/struct.QlogConfig.html | 10 +-- pr/547/docs/noq/struct.QlogFileFactory.html | 12 ++-- pr/547/docs/noq/struct.ServerConfig.html | 44 ++++++------ pr/547/docs/noq/struct.StdSystemTime.html | 4 +- pr/547/docs/noq/struct.StreamId.html | 26 +++---- pr/547/docs/noq/struct.TokenMemoryCache.html | 8 +-- pr/547/docs/noq/struct.TokenReuseError.html | 2 +- pr/547/docs/noq/struct.Transmit.html | 4 +- pr/547/docs/noq/struct.TransportConfig.html | 72 +++++++++---------- .../docs/noq/struct.TransportErrorCode.html | 54 +++++++------- pr/547/docs/noq/struct.UdpStats.html | 6 +- .../noq/struct.ValidationTokenConfig.html | 10 +-- pr/547/docs/noq/struct.VarInt.html | 38 +++++----- .../docs/noq/struct.VarIntBoundsExceeded.html | 6 +- pr/547/docs/noq/struct.Written.html | 6 +- .../docs/noq/trait.ConnectionIdGenerator.html | 12 ++-- pr/547/docs/noq/trait.NetworkChangeHint.html | 6 +- pr/547/docs/noq/trait.QlogFactory.html | 6 +- pr/547/docs/noq/trait.TimeSource.html | 6 +- pr/547/docs/noq/trait.TokenLog.html | 6 +- pr/547/docs/noq/trait.TokenStore.html | 8 +-- pr/547/docs/settings.html | 2 +- 88 files changed, 478 insertions(+), 478 deletions(-) diff --git a/pr/547/docs/bench/fn.connect_client.html b/pr/547/docs/bench/fn.connect_client.html index 1f4edbfc9..db1c46780 100644 --- a/pr/547/docs/bench/fn.connect_client.html +++ b/pr/547/docs/bench/fn.connect_client.html @@ -2,5 +2,5 @@ server_addr: SocketAddr, server_cert: CertificateDer<'_>, opt: Opt, -) -> Result<(Endpoint, Connection)>
Expand description

Create a client endpoint and client connection

+) -> Result<(Endpoint, Connection)>
Expand description

Create a client endpoint and client connection

\ No newline at end of file diff --git a/pr/547/docs/bench/fn.drain_stream.html b/pr/547/docs/bench/fn.drain_stream.html index 1156135bd..419a7887d 100644 --- a/pr/547/docs/bench/fn.drain_stream.html +++ b/pr/547/docs/bench/fn.drain_stream.html @@ -1,4 +1,4 @@ drain_stream in bench - Rust

drain_stream

Function drain_stream 

Source
pub async fn drain_stream(
-    stream: RecvStream,
+    stream: RecvStream,
     read_unordered: bool,
 ) -> Result<usize>
\ No newline at end of file diff --git a/pr/547/docs/bench/fn.send_data_on_stream.html b/pr/547/docs/bench/fn.send_data_on_stream.html index dbdfc4d28..e0ee604a7 100644 --- a/pr/547/docs/bench/fn.send_data_on_stream.html +++ b/pr/547/docs/bench/fn.send_data_on_stream.html @@ -1,4 +1,4 @@ send_data_on_stream in bench - Rust

send_data_on_stream

Function send_data_on_stream 

Source
pub async fn send_data_on_stream(
-    stream: &mut SendStream,
+    stream: &mut SendStream,
     stream_size: u64,
 ) -> Result<()>
\ No newline at end of file diff --git a/pr/547/docs/bench/fn.server_endpoint.html b/pr/547/docs/bench/fn.server_endpoint.html index 2b7bac5c1..f1d25c09c 100644 --- a/pr/547/docs/bench/fn.server_endpoint.html +++ b/pr/547/docs/bench/fn.server_endpoint.html @@ -3,5 +3,5 @@ cert: CertificateDer<'static>, key: PrivateKeyDer<'static>, opt: &Opt, -) -> (SocketAddr, Endpoint)
Expand description

Creates a server endpoint which runs on the given runtime

+) -> (SocketAddr, Endpoint)
Expand description

Creates a server endpoint which runs on the given runtime

\ No newline at end of file diff --git a/pr/547/docs/help.html b/pr/547/docs/help.html index 99d8cb979..09d0ca8e7 100644 --- a/pr/547/docs/help.html +++ b/pr/547/docs/help.html @@ -1 +1 @@ -Help

All

Rustdoc help

Back
\ No newline at end of file +Help

All

Rustdoc help

Back
\ No newline at end of file diff --git a/pr/547/docs/noq/congestion/index.html b/pr/547/docs/noq/congestion/index.html index bfd676f25..7a948be8d 100644 --- a/pr/547/docs/noq/congestion/index.html +++ b/pr/547/docs/noq/congestion/index.html @@ -1,2 +1,2 @@ -noq::congestion - Rust

Module congestion

Module congestion 

Source
Expand description

Logic for controlling the rate at which data is sent

+noq::congestion - Rust

Module congestion

Module congestion 

Expand description

Logic for controlling the rate at which data is sent

Structs§

Bbr
Experimental! Use at your own risk.
BbrConfig
Configuration for the Bbr congestion controller
ControllerMetrics
Common congestion controller metrics
Cubic
The RFC8312 congestion controller, as widely used for TCP
CubicConfig
Configuration for the Cubic congestion controller
NewReno
A simple, standard congestion controller
NewRenoConfig
Configuration for the NewReno congestion controller

Traits§

Controller
Common interface for different congestion controllers
ControllerFactory
Constructs controllers on demand
\ No newline at end of file diff --git a/pr/547/docs/noq/congestion/struct.Bbr.html b/pr/547/docs/noq/congestion/struct.Bbr.html index 9e92b09c0..db52082ef 100644 --- a/pr/547/docs/noq/congestion/struct.Bbr.html +++ b/pr/547/docs/noq/congestion/struct.Bbr.html @@ -1,30 +1,30 @@ -Bbr in noq::congestion - Rust

Bbr

Struct Bbr 

Source
pub struct Bbr { /* private fields */ }
Expand description

Experimental! Use at your own risk.

+Bbr in noq::congestion - Rust

Bbr

Struct Bbr 

pub struct Bbr { /* private fields */ }
Expand description

Experimental! Use at your own risk.

Aims for reduced buffer bloat and improved performance over high bandwidth-delay product networks. Based on google’s quiche implementation https://source.chromium.org/chromium/chromium/src/+/master:net/third_party/quiche/src/quic/core/congestion_control/bbr_sender.cc of BBR https://datatracker.ietf.org/doc/html/draft-cardwell-iccrg-bbr-congestion-control. More discussion and links at https://groups.google.com/g/bbr-dev.

-

Implementations§

Source§

impl Bbr

Source

pub fn new(config: Arc<BbrConfig>, current_mtu: u16) -> Bbr

Construct a state using the given config and current time now

-

Trait Implementations§

Source§

impl Clone for Bbr

Source§

fn clone(&self) -> Bbr

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Controller for Bbr

Source§

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent
Source§

fn on_ack( +

Implementations§

§

impl Bbr

pub fn new(config: Arc<BbrConfig>, current_mtu: u16) -> Bbr

Construct a state using the given config and current time now

+

Trait Implementations§

§

impl Clone for Bbr

§

fn clone(&self) -> Bbr

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Controller for Bbr

§

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent
§

fn on_ack( &mut self, now: Instant, sent: Instant, bytes: u64, app_limited: bool, - rtt: &RttEstimator, -)

Packet deliveries were confirmed Read more
Source§

fn on_end_acks( + rtt: &RttEstimator, +)

Packet deliveries were confirmed Read more
§

fn on_end_acks( &mut self, now: Instant, in_flight: u64, app_limited: bool, largest_packet_num_acked: Option<u64>, -)

Packets are acked in batches, all with the same now argument. This indicates one of those batches has completed.
Source§

fn on_congestion_event( +)

Packets are acked in batches, all with the same now argument. This indicates one of those batches has completed.
§

fn on_congestion_event( &mut self, _now: Instant, _sent: Instant, _is_persistent_congestion: bool, _is_ecn: bool, lost_bytes: u64, -)

Packets were deemed lost or marked congested Read more
Source§

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated
Source§

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight
Source§

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
Source§

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state
Source§

fn initial_window(&self) -> u64

Initial congestion window
Source§

fn into_any(self: Box<Bbr>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details
Source§

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost Read more
Source§

impl Debug for Bbr

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Bbr

§

impl RefUnwindSafe for Bbr

§

impl Send for Bbr

§

impl Sync for Bbr

§

impl Unpin for Bbr

§

impl UnwindSafe for Bbr

Blanket Implementations§

Source§

impl<T> Any for T
where +)

Packets were deemed lost or marked congested Read more
§

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated
§

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight
§

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
§

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state
§

fn initial_window(&self) -> u64

Initial congestion window
§

fn into_any(self: Box<Bbr>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details
§

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost Read more
§

impl Debug for Bbr

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Bbr

§

impl RefUnwindSafe for Bbr

§

impl Send for Bbr

§

impl Sync for Bbr

§

impl Unpin for Bbr

§

impl UnwindSafe for Bbr

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where diff --git a/pr/547/docs/noq/congestion/struct.BbrConfig.html b/pr/547/docs/noq/congestion/struct.BbrConfig.html index 1cbda7adb..f02aefcc7 100644 --- a/pr/547/docs/noq/congestion/struct.BbrConfig.html +++ b/pr/547/docs/noq/congestion/struct.BbrConfig.html @@ -1,11 +1,11 @@ -BbrConfig in noq::congestion - Rust

BbrConfig

Struct BbrConfig 

Source
pub struct BbrConfig { /* private fields */ }
Expand description

Configuration for the Bbr congestion controller

-

Implementations§

Source§

impl BbrConfig

Source

pub fn initial_window(&mut self, value: u64) -> &mut BbrConfig

Default limit on the amount of outstanding data in bytes.

+BbrConfig in noq::congestion - Rust

BbrConfig

Struct BbrConfig 

pub struct BbrConfig { /* private fields */ }
Expand description

Configuration for the Bbr congestion controller

+

Implementations§

§

impl BbrConfig

pub fn initial_window(&mut self, value: u64) -> &mut BbrConfig

Default limit on the amount of outstanding data in bytes.

Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))

-

Trait Implementations§

Source§

impl Clone for BbrConfig

Source§

fn clone(&self) -> BbrConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ControllerFactory for BbrConfig

Trait Implementations§

§

impl Clone for BbrConfig

§

fn clone(&self) -> BbrConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl ControllerFactory for BbrConfig

§

fn build( self: Arc<BbrConfig>, _now: Instant, current_mtu: u16, -) -> Box<dyn Controller>

Construct a fresh Controller
Source§

impl Debug for BbrConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for BbrConfig

Source§

fn default() -> BbrConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where +) -> Box<dyn Controller>

Construct a fresh Controller
§

impl Debug for BbrConfig

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Default for BbrConfig

§

fn default() -> BbrConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where diff --git a/pr/547/docs/noq/congestion/struct.ControllerMetrics.html b/pr/547/docs/noq/congestion/struct.ControllerMetrics.html index 83727dbb4..e2c4d4b9d 100644 --- a/pr/547/docs/noq/congestion/struct.ControllerMetrics.html +++ b/pr/547/docs/noq/congestion/struct.ControllerMetrics.html @@ -1,4 +1,4 @@ -ControllerMetrics in noq::congestion - Rust

ControllerMetrics

Struct ControllerMetrics 

Source
#[non_exhaustive]
pub struct ControllerMetrics { +ControllerMetrics in noq::congestion - Rust

ControllerMetrics

Struct ControllerMetrics 

#[non_exhaustive]
pub struct ControllerMetrics { pub congestion_window: u64, pub ssthresh: Option<u64>, pub pacing_rate: Option<u64>, @@ -6,7 +6,7 @@

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§congestion_window: u64

Congestion window (bytes)

§ssthresh: Option<u64>

Slow start threshold (bytes)

§pacing_rate: Option<u64>

Pacing rate (bits/s)

-

Trait Implementations§

Source§

impl Debug for ControllerMetrics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for ControllerMetrics

Source§

fn default() -> ControllerMetrics

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where +

Trait Implementations§

§

impl Debug for ControllerMetrics

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Default for ControllerMetrics

§

fn default() -> ControllerMetrics

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/pr/547/docs/noq/congestion/struct.Cubic.html b/pr/547/docs/noq/congestion/struct.Cubic.html index cbf414f0d..1480d6b4a 100644 --- a/pr/547/docs/noq/congestion/struct.Cubic.html +++ b/pr/547/docs/noq/congestion/struct.Cubic.html @@ -1,26 +1,26 @@ -Cubic in noq::congestion - Rust

Cubic

Struct Cubic 

Source
pub struct Cubic { /* private fields */ }
Expand description

The RFC8312 congestion controller, as widely used for TCP

-

Implementations§

Source§

impl Cubic

Source

pub fn new(config: Arc<CubicConfig>, _now: Instant, current_mtu: u16) -> Cubic

Construct a state using the given config and current time now

-

Trait Implementations§

Source§

impl Clone for Cubic

Source§

fn clone(&self) -> Cubic

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Controller for Cubic

Source§

fn on_ack( +Cubic in noq::congestion - Rust

Cubic

Struct Cubic 

pub struct Cubic { /* private fields */ }
Expand description

The RFC8312 congestion controller, as widely used for TCP

+

Implementations§

§

impl Cubic

pub fn new(config: Arc<CubicConfig>, _now: Instant, current_mtu: u16) -> Cubic

Construct a state using the given config and current time now

+

Trait Implementations§

§

impl Clone for Cubic

§

fn clone(&self) -> Cubic

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Controller for Cubic

§

fn on_ack( &mut self, now: Instant, sent: Instant, bytes: u64, app_limited: bool, - rtt: &RttEstimator, -)

Packet deliveries were confirmed Read more
Source§

fn on_congestion_event( + rtt: &RttEstimator, +)

Packet deliveries were confirmed Read more
§

fn on_congestion_event( &mut self, now: Instant, sent: Instant, is_persistent_congestion: bool, is_ecn: bool, _lost_bytes: u64, -)

Packets were deemed lost or marked congested Read more
Source§

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost Read more
Source§

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated
Source§

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight
Source§

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
Source§

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state
Source§

fn initial_window(&self) -> u64

Initial congestion window
Source§

fn into_any(self: Box<Cubic>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details
Source§

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent
Source§

fn on_end_acks( +)

Packets were deemed lost or marked congested Read more
§

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost Read more
§

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated
§

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight
§

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
§

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state
§

fn initial_window(&self) -> u64

Initial congestion window
§

fn into_any(self: Box<Cubic>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details
§

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent
§

fn on_end_acks( &mut self, now: Instant, in_flight: u64, app_limited: bool, largest_packet_num_acked: Option<u64>, -)

Packets are acked in batches, all with the same now argument. This indicates one of those batches has completed.
Source§

impl Debug for Cubic

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Cubic

§

impl RefUnwindSafe for Cubic

§

impl Send for Cubic

§

impl Sync for Cubic

§

impl Unpin for Cubic

§

impl UnwindSafe for Cubic

Blanket Implementations§

Source§

impl<T> Any for T
where +)

Packets are acked in batches, all with the same now argument. This indicates one of those batches has completed.

§

impl Debug for Cubic

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Cubic

§

impl RefUnwindSafe for Cubic

§

impl Send for Cubic

§

impl Sync for Cubic

§

impl Unpin for Cubic

§

impl UnwindSafe for Cubic

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where diff --git a/pr/547/docs/noq/congestion/struct.CubicConfig.html b/pr/547/docs/noq/congestion/struct.CubicConfig.html index 30dd7d958..8164541f8 100644 --- a/pr/547/docs/noq/congestion/struct.CubicConfig.html +++ b/pr/547/docs/noq/congestion/struct.CubicConfig.html @@ -1,11 +1,11 @@ -CubicConfig in noq::congestion - Rust

CubicConfig

Struct CubicConfig 

Source
pub struct CubicConfig { /* private fields */ }
Expand description

Configuration for the Cubic congestion controller

-

Implementations§

Source§

impl CubicConfig

Source

pub fn initial_window(&mut self, value: u64) -> &mut CubicConfig

Default limit on the amount of outstanding data in bytes.

+CubicConfig in noq::congestion - Rust

CubicConfig

Struct CubicConfig 

pub struct CubicConfig { /* private fields */ }
Expand description

Configuration for the Cubic congestion controller

+

Implementations§

§

impl CubicConfig

pub fn initial_window(&mut self, value: u64) -> &mut CubicConfig

Default limit on the amount of outstanding data in bytes.

Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))

-

Trait Implementations§

Source§

impl Clone for CubicConfig

Source§

fn clone(&self) -> CubicConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ControllerFactory for CubicConfig

Trait Implementations§

§

impl Clone for CubicConfig

§

fn clone(&self) -> CubicConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl ControllerFactory for CubicConfig

§

fn build( self: Arc<CubicConfig>, now: Instant, current_mtu: u16, -) -> Box<dyn Controller>

Construct a fresh Controller
Source§

impl Debug for CubicConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for CubicConfig

Source§

fn default() -> CubicConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where +) -> Box<dyn Controller>

Construct a fresh Controller
§

impl Debug for CubicConfig

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Default for CubicConfig

§

fn default() -> CubicConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where diff --git a/pr/547/docs/noq/congestion/struct.NewReno.html b/pr/547/docs/noq/congestion/struct.NewReno.html index db55ce790..4a24a3366 100644 --- a/pr/547/docs/noq/congestion/struct.NewReno.html +++ b/pr/547/docs/noq/congestion/struct.NewReno.html @@ -1,30 +1,30 @@ -NewReno in noq::congestion - Rust

NewReno

Struct NewReno 

Source
pub struct NewReno { /* private fields */ }
Expand description

A simple, standard congestion controller

-

Implementations§

Source§

impl NewReno

Source

pub fn new( +NewReno in noq::congestion - Rust

NewReno

Struct NewReno 

pub struct NewReno { /* private fields */ }
Expand description

A simple, standard congestion controller

+

Implementations§

§

impl NewReno

pub fn new( config: Arc<NewRenoConfig>, now: Instant, current_mtu: u16, ) -> NewReno

Construct a state using the given config and current time now

-

Trait Implementations§

Source§

impl Clone for NewReno

Source§

fn clone(&self) -> NewReno

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Controller for NewReno

Trait Implementations§

§

impl Clone for NewReno

§

fn clone(&self) -> NewReno

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Controller for NewReno

§

fn on_ack( &mut self, _now: Instant, sent: Instant, bytes: u64, app_limited: bool, - _rtt: &RttEstimator, -)

Packet deliveries were confirmed Read more
Source§

fn on_congestion_event( + _rtt: &RttEstimator, +)

Packet deliveries were confirmed Read more
§

fn on_congestion_event( &mut self, now: Instant, sent: Instant, is_persistent_congestion: bool, _is_ecn: bool, _lost_bytes: u64, -)

Packets were deemed lost or marked congested Read more
Source§

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated
Source§

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight
Source§

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
Source§

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state
Source§

fn initial_window(&self) -> u64

Initial congestion window
Source§

fn into_any(self: Box<NewReno>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details
Source§

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent
Source§

fn on_end_acks( +)

Packets were deemed lost or marked congested Read more
§

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated
§

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight
§

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
§

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state
§

fn initial_window(&self) -> u64

Initial congestion window
§

fn into_any(self: Box<NewReno>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details
§

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent
§

fn on_end_acks( &mut self, now: Instant, in_flight: u64, app_limited: bool, largest_packet_num_acked: Option<u64>, -)

Packets are acked in batches, all with the same now argument. This indicates one of those batches has completed.
Source§

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost Read more
Source§

impl Debug for NewReno

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where +)

Packets are acked in batches, all with the same now argument. This indicates one of those batches has completed.
§

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost Read more
§

impl Debug for NewReno

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where diff --git a/pr/547/docs/noq/congestion/struct.NewRenoConfig.html b/pr/547/docs/noq/congestion/struct.NewRenoConfig.html index 45bf5627e..4fba8cb97 100644 --- a/pr/547/docs/noq/congestion/struct.NewRenoConfig.html +++ b/pr/547/docs/noq/congestion/struct.NewRenoConfig.html @@ -1,12 +1,12 @@ -NewRenoConfig in noq::congestion - Rust

NewRenoConfig

Struct NewRenoConfig 

Source
pub struct NewRenoConfig { /* private fields */ }
Expand description

Configuration for the NewReno congestion controller

-

Implementations§

Source§

impl NewRenoConfig

Source

pub fn initial_window(&mut self, value: u64) -> &mut NewRenoConfig

Default limit on the amount of outstanding data in bytes.

+NewRenoConfig in noq::congestion - Rust

NewRenoConfig

Struct NewRenoConfig 

pub struct NewRenoConfig { /* private fields */ }
Expand description

Configuration for the NewReno congestion controller

+

Implementations§

§

impl NewRenoConfig

pub fn initial_window(&mut self, value: u64) -> &mut NewRenoConfig

Default limit on the amount of outstanding data in bytes.

Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))

-
Source

pub fn loss_reduction_factor(&mut self, value: f32) -> &mut NewRenoConfig

Reduction in congestion window when a new loss event is detected.

-

Trait Implementations§

Source§

impl Clone for NewRenoConfig

Source§

fn clone(&self) -> NewRenoConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ControllerFactory for NewRenoConfig

pub fn loss_reduction_factor(&mut self, value: f32) -> &mut NewRenoConfig

Reduction in congestion window when a new loss event is detected.

+

Trait Implementations§

§

impl Clone for NewRenoConfig

§

fn clone(&self) -> NewRenoConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl ControllerFactory for NewRenoConfig

§

fn build( self: Arc<NewRenoConfig>, now: Instant, current_mtu: u16, -) -> Box<dyn Controller>

Construct a fresh Controller
Source§

impl Debug for NewRenoConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for NewRenoConfig

Source§

fn default() -> NewRenoConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where +) -> Box<dyn Controller>

Construct a fresh Controller
§

impl Debug for NewRenoConfig

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Default for NewRenoConfig

§

fn default() -> NewRenoConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where diff --git a/pr/547/docs/noq/congestion/trait.Controller.html b/pr/547/docs/noq/congestion/trait.Controller.html index e28ccb4d5..f73e6604d 100644 --- a/pr/547/docs/noq/congestion/trait.Controller.html +++ b/pr/547/docs/noq/congestion/trait.Controller.html @@ -1,4 +1,4 @@ -Controller in noq::congestion - Rust

Controller

Trait Controller 

Source
pub trait Controller:
+Controller in noq::congestion - Rust

Controller

Trait Controller 

pub trait Controller:
     Send
     + Sync
     + Debug {
@@ -25,7 +25,7 @@
         sent: Instant,
         bytes: u64,
         app_limited: bool,
-        rtt: &RttEstimator,
+        rtt: &RttEstimator,
     ) { ... }
     fn on_end_acks(
         &mut self,
@@ -37,7 +37,7 @@
     fn on_spurious_congestion_event(&mut self) { ... }
     fn metrics(&self) -> ControllerMetrics { ... }
 }
Expand description

Common interface for different congestion controllers

-

Required Methods§

Required Methods§

fn on_congestion_event( &mut self, now: Instant, sent: Instant, @@ -49,31 +49,31 @@ congestion threshold period ending when the most recent packet in this batch was sent were lost. lost_bytes indicates how many bytes were lost. This value will be 0 for ECN triggers.

-

Source

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated

-
Source

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight

-
Source

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state

-
Source

fn initial_window(&self) -> u64

Initial congestion window

-
Source

fn into_any(self: Box<Self>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details

-

Provided Methods§

Source

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent

-
Source

fn on_ack( +

fn on_mtu_update(&mut self, new_mtu: u16)

The known MTU for the current network path has been updated

+

fn window(&self) -> u64

Number of ack-eliciting bytes that may be in flight

+

fn clone_box(&self) -> Box<dyn Controller>

Duplicate the controller’s state

+

fn initial_window(&self) -> u64

Initial congestion window

+

fn into_any(self: Box<Self>) -> Box<dyn Any>

Returns Self for use in down-casting to extract implementation details

+

Provided Methods§

fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)

One or more packets were just sent

+

fn on_ack( &mut self, now: Instant, sent: Instant, bytes: u64, app_limited: bool, - rtt: &RttEstimator, + rtt: &RttEstimator, )

Packet deliveries were confirmed

app_limited indicates whether the connection was blocked on outgoing application data prior to receiving these acknowledgements.

-
Source

fn on_end_acks( +

fn on_end_acks( &mut self, now: Instant, in_flight: u64, app_limited: bool, largest_packet_num_acked: Option<u64>, )

Packets are acked in batches, all with the same now argument. This indicates one of those batches has completed.

-
Source

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost

+

fn on_spurious_congestion_event(&mut self)

Packets were incorrectly deemed lost

This function is called when all packets that were deemed lost (for instance because of packet reordering) are acknowledged after the congestion event was raised.

-
Source

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled

-

Implementors§

\ No newline at end of file +

fn metrics(&self) -> ControllerMetrics

Retrieve implementation-specific metrics used to populate qlog traces when they are enabled

+

Implementors§

\ No newline at end of file diff --git a/pr/547/docs/noq/congestion/trait.ControllerFactory.html b/pr/547/docs/noq/congestion/trait.ControllerFactory.html index f6dd7b6ee..93add5e51 100644 --- a/pr/547/docs/noq/congestion/trait.ControllerFactory.html +++ b/pr/547/docs/noq/congestion/trait.ControllerFactory.html @@ -1,4 +1,4 @@ -ControllerFactory in noq::congestion - Rust

ControllerFactory

Trait ControllerFactory 

Source
pub trait ControllerFactory {
+ControllerFactory in noq::congestion - Rust

ControllerFactory

Trait ControllerFactory 

pub trait ControllerFactory {
     // Required method
     fn build(
         self: Arc<Self>,
@@ -6,5 +6,5 @@
         current_mtu: u16,
     ) -> Box<dyn Controller>;
 }
Expand description

Constructs controllers on demand

-

Required Methods§

Source

fn build(self: Arc<Self>, now: Instant, current_mtu: u16) -> Box<dyn Controller>

Construct a fresh Controller

-

Implementors§

\ No newline at end of file +

Required Methods§

fn build(self: Arc<Self>, now: Instant, current_mtu: u16) -> Box<dyn Controller>

Construct a fresh Controller

+

Implementors§

\ No newline at end of file diff --git a/pr/547/docs/noq/crypto/index.html b/pr/547/docs/noq/crypto/index.html index 3266d8e96..fcbfe7a14 100644 --- a/pr/547/docs/noq/crypto/index.html +++ b/pr/547/docs/noq/crypto/index.html @@ -1,4 +1,4 @@ -noq::crypto - Rust

Module crypto

Module crypto 

Source
Expand description

Traits and implementations for the QUIC cryptography protocol

+noq::crypto - Rust

Module crypto

Module crypto 

Expand description

Traits and implementations for the QUIC cryptography protocol

The protocol logic in noq is contained in types that abstract over the actual cryptographic protocol used. This module contains the traits used for this abstraction layer as well as a single implementation of these traits that uses diff --git a/pr/547/docs/noq/crypto/rustls/index.html b/pr/547/docs/noq/crypto/rustls/index.html index ca1fc066c..9ddd76feb 100644 --- a/pr/547/docs/noq/crypto/rustls/index.html +++ b/pr/547/docs/noq/crypto/rustls/index.html @@ -1,2 +1,2 @@ -noq::crypto::rustls - Rust

Module rustls

Module rustls 

Source
Expand description

TLS interface based on rustls

+noq::crypto::rustls - Rust

Module rustls

Module rustls 

Expand description

TLS interface based on rustls

Structs§

HandshakeData
Authentication data for (rustls) TLS session
NoInitialCipherSuite
The initial cipher suite (AES-128-GCM-SHA256) is not available
QuicClientConfig
A QUIC-compatible TLS client configuration
QuicServerConfig
A QUIC-compatible TLS server configuration
TlsSession
A rustls TLS session

Enums§

Error
rustls reports protocol errors using this type.
\ No newline at end of file diff --git a/pr/547/docs/noq/crypto/rustls/struct.HandshakeData.html b/pr/547/docs/noq/crypto/rustls/struct.HandshakeData.html index 7c8e71954..0335c4da4 100644 --- a/pr/547/docs/noq/crypto/rustls/struct.HandshakeData.html +++ b/pr/547/docs/noq/crypto/rustls/struct.HandshakeData.html @@ -1,4 +1,4 @@ -HandshakeData in noq::crypto::rustls - Rust

HandshakeData

Struct HandshakeData 

Source
pub struct HandshakeData {
+HandshakeData in noq::crypto::rustls - Rust

HandshakeData

Struct HandshakeData 

pub struct HandshakeData {
     pub protocol: Option<Vec<u8>>,
     pub server_name: Option<String>,
     pub negotiated_key_exchange_group: NamedGroup,
diff --git a/pr/547/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/547/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
index 4b1d48e9a..a9152156a 100644
--- a/pr/547/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/547/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in noq::crypto::rustls - Rust

NoInitialCipherSuite

Struct NoInitialCipherSuite 

Source
pub struct NoInitialCipherSuite { /* private fields */ }
Expand description

The initial cipher suite (AES-128-GCM-SHA256) is not available

+NoInitialCipherSuite in noq::crypto::rustls - Rust

NoInitialCipherSuite

Struct NoInitialCipherSuite 

pub struct NoInitialCipherSuite { /* private fields */ }
Expand description

The initial cipher suite (AES-128-GCM-SHA256) is not available

When the cipher suite is supplied with_initial(), it must be [CipherSuite::TLS13_AES_128_GCM_SHA256]. When the cipher suite is derived from a config’s CryptoProvider, that provider must reference a cipher suite with the same ID.

-

Trait Implementations§

Source§

impl Clone for NoInitialCipherSuite

Source§

fn clone(&self) -> NoInitialCipherSuite

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NoInitialCipherSuite

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Display for NoInitialCipherSuite

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Error for NoInitialCipherSuite

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where +

Trait Implementations§

§

impl Clone for NoInitialCipherSuite

§

fn clone(&self) -> NoInitialCipherSuite

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for NoInitialCipherSuite

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Display for NoInitialCipherSuite

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Error for NoInitialCipherSuite

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where diff --git a/pr/547/docs/noq/crypto/rustls/struct.QuicClientConfig.html b/pr/547/docs/noq/crypto/rustls/struct.QuicClientConfig.html index 284c48f71..0b97ef82b 100644 --- a/pr/547/docs/noq/crypto/rustls/struct.QuicClientConfig.html +++ b/pr/547/docs/noq/crypto/rustls/struct.QuicClientConfig.html @@ -1,4 +1,4 @@ -QuicClientConfig in noq::crypto::rustls - Rust

QuicClientConfig

Struct QuicClientConfig 

Source
pub struct QuicClientConfig { /* private fields */ }
Expand description

A QUIC-compatible TLS client configuration

+QuicClientConfig in noq::crypto::rustls - Rust

QuicClientConfig

Struct QuicClientConfig 

pub struct QuicClientConfig { /* private fields */ }
Expand description

A QUIC-compatible TLS client configuration

noq implicitly constructs a QuicClientConfig with reasonable defaults within ClientConfig::with_root_certificates() and ClientConfig::try_with_platform_verifier(). Alternatively, QuicClientConfig’s TryFrom implementation can be used to wrap around a @@ -12,20 +12,20 @@ outgoing connections. calling into_0rtt on outgoing connections returns Ok or Err. It typically allows into_0rtt to proceed if it recognizes the server name, and defaults to an in-memory cache of 256 server names.

-

Implementations§

Source§

impl QuicClientConfig

Implementations§

§

impl QuicClientConfig

pub fn with_initial( inner: Arc<ClientConfig>, initial: Suite, ) -> Result<QuicClientConfig, NoInitialCipherSuite>

Initialize a QUIC-compatible TLS client configuration with a separate initial cipher suite

This is useful if you want to avoid the initial cipher suite for traffic encryption.

-
Source

pub fn set_alpn_protocols(&mut self, alpn_protocols: Vec<Vec<u8>>)

Updates the set of ALPN protocols configured in the client config.

-

Trait Implementations§

Source§

impl ClientConfig for QuicClientConfig

pub fn set_alpn_protocols(&mut self, alpn_protocols: Vec<Vec<u8>>)

Updates the set of ALPN protocols configured in the client config.

+

Trait Implementations§

§

impl ClientConfig for QuicClientConfig

§

fn start_session( &self, version: u32, server_name: &str, - params: &TransportParameters, -) -> Result<Box<dyn Session>, ConnectError>

Start a client session with this configuration
Source§

impl Clone for QuicClientConfig

Source§

fn clone(&self) -> QuicClientConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl TryFrom<Arc<ClientConfig>> for QuicClientConfig

Source§

type Error = NoInitialCipherSuite

The type returned in the event of a conversion error.
Source§

fn try_from( + params: &TransportParameters, +) -> Result<Box<dyn Session>, ConnectError>

Start a client session with this configuration
§

impl Clone for QuicClientConfig

§

fn clone(&self) -> QuicClientConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl TryFrom<Arc<ClientConfig>> for QuicClientConfig

§

type Error = NoInitialCipherSuite

The type returned in the event of a conversion error.
§

fn try_from( inner: Arc<ClientConfig>, -) -> Result<QuicClientConfig, <QuicClientConfig as TryFrom<Arc<ClientConfig>>>::Error>

Performs the conversion.
Source§

impl TryFrom<ClientConfig> for QuicClientConfig

Source§

type Error = NoInitialCipherSuite

The type returned in the event of a conversion error.
Source§

fn try_from( +) -> Result<QuicClientConfig, <QuicClientConfig as TryFrom<Arc<ClientConfig>>>::Error>

Performs the conversion.
§

impl TryFrom<ClientConfig> for QuicClientConfig

§

type Error = NoInitialCipherSuite

The type returned in the event of a conversion error.
§

fn try_from( inner: ClientConfig, ) -> Result<QuicClientConfig, <QuicClientConfig as TryFrom<ClientConfig>>::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/pr/547/docs/noq/crypto/rustls/struct.QuicServerConfig.html b/pr/547/docs/noq/crypto/rustls/struct.QuicServerConfig.html index 66348a7f1..1e7f4f041 100644 --- a/pr/547/docs/noq/crypto/rustls/struct.QuicServerConfig.html +++ b/pr/547/docs/noq/crypto/rustls/struct.QuicServerConfig.html @@ -1,4 +1,4 @@ -QuicServerConfig in noq::crypto::rustls - Rust

QuicServerConfig

Struct QuicServerConfig 

Source
pub struct QuicServerConfig { /* private fields */ }
Expand description

A QUIC-compatible TLS server configuration

+QuicServerConfig in noq::crypto::rustls - Rust

QuicServerConfig

Struct QuicServerConfig 

pub struct QuicServerConfig { /* private fields */ }
Expand description

A QUIC-compatible TLS server configuration

noq implicitly constructs a QuicServerConfig with reasonable defaults within ServerConfig::with_single_cert(). Alternatively, QuicServerConfig’s TryFrom implementation or with_initial method can be used to wrap around a custom @@ -8,28 +8,28 @@ implementation or with_initial method can be used to wrap around a incoming 0-RTT data. QUIC prohibits max_early_data_size values other than 0 or u32::MAX.

  • The rustls::ServerConfig must have TLS 1.3 support enabled for conversion to succeed.
  • -

    Implementations§

    Source§

    impl QuicServerConfig

    Implementations§

    §

    impl QuicServerConfig

    pub fn with_initial( inner: Arc<ServerConfig>, initial: Suite, ) -> Result<QuicServerConfig, NoInitialCipherSuite>

    Initialize a QUIC-compatible TLS client configuration with a separate initial cipher suite

    This is useful if you want to avoid the initial cipher suite for traffic encryption.

    -
    Source

    pub fn set_alpn_protocols(&mut self, alpn_protocols: Vec<Vec<u8>>)

    Updates the set of ALPN protocols configured in the server config.

    -

    Trait Implementations§

    Source§

    impl Clone for QuicServerConfig

    Source§

    fn clone(&self) -> QuicServerConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl ServerConfig for QuicServerConfig

    pub fn set_alpn_protocols(&mut self, alpn_protocols: Vec<Vec<u8>>)

    Updates the set of ALPN protocols configured in the server config.

    +

    Trait Implementations§

    §

    impl Clone for QuicServerConfig

    §

    fn clone(&self) -> QuicServerConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl ServerConfig for QuicServerConfig

    §

    fn start_session( &self, version: u32, - params: &TransportParameters, -) -> Box<dyn Session>

    Start a server session with this configuration Read more
    Source§

    fn initial_keys( + params: &TransportParameters, +) -> Box<dyn Session>

    Start a server session with this configuration Read more
    §

    fn initial_keys( &self, version: u32, dst_cid: ConnectionId, -) -> Result<Keys, UnsupportedVersion>

    Create the initial set of keys given the client’s initial destination ConnectionId
    Source§

    fn retry_tag( +) -> Result<Keys, UnsupportedVersion>

    Create the initial set of keys given the client’s initial destination ConnectionId
    §

    fn retry_tag( &self, version: u32, orig_dst_cid: ConnectionId, packet: &[u8], -) -> [u8; 16]

    Generate the integrity tag for a retry packet Read more
    Source§

    impl TryFrom<Arc<ServerConfig>> for QuicServerConfig

    Source§

    type Error = NoInitialCipherSuite

    The type returned in the event of a conversion error.
    Source§

    fn try_from( +) -> [u8; 16]

    Generate the integrity tag for a retry packet Read more
    §

    impl TryFrom<Arc<ServerConfig>> for QuicServerConfig

    §

    type Error = NoInitialCipherSuite

    The type returned in the event of a conversion error.
    §

    fn try_from( inner: Arc<ServerConfig>, -) -> Result<QuicServerConfig, <QuicServerConfig as TryFrom<Arc<ServerConfig>>>::Error>

    Performs the conversion.
    Source§

    impl TryFrom<ServerConfig> for QuicServerConfig

    Source§

    type Error = NoInitialCipherSuite

    The type returned in the event of a conversion error.
    Source§

    fn try_from( +) -> Result<QuicServerConfig, <QuicServerConfig as TryFrom<Arc<ServerConfig>>>::Error>

    Performs the conversion.
    §

    impl TryFrom<ServerConfig> for QuicServerConfig

    §

    type Error = NoInitialCipherSuite

    The type returned in the event of a conversion error.
    §

    fn try_from( inner: ServerConfig, ) -> Result<QuicServerConfig, <QuicServerConfig as TryFrom<ServerConfig>>::Error>

    Performs the conversion.

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/pr/547/docs/noq/crypto/rustls/struct.TlsSession.html b/pr/547/docs/noq/crypto/rustls/struct.TlsSession.html index 29977f219..87d935004 100644 --- a/pr/547/docs/noq/crypto/rustls/struct.TlsSession.html +++ b/pr/547/docs/noq/crypto/rustls/struct.TlsSession.html @@ -1,11 +1,11 @@ -TlsSession in noq::crypto::rustls - Rust

    TlsSession

    Struct TlsSession 

    Source
    pub struct TlsSession { /* private fields */ }
    Expand description

    A rustls TLS session

    -

    Trait Implementations§

    Source§

    impl Session for TlsSession

    Source§

    fn peer_identity(&self) -> Option<Box<dyn Any>>

    For the rustls TlsSession, the Any type is Vec<rustls::pki_types::CertificateDer>

    -
    Source§

    fn initial_keys(&self, dst_cid: ConnectionId, side: Side) -> Keys

    Create the initial set of keys given the client’s initial destination ConnectionId
    Source§

    fn handshake_data(&self) -> Option<Box<dyn Any>>

    Get data negotiated during the handshake, if available Read more
    Source§

    fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>

    Get the 0-RTT keys if available (clients only) Read more
    Source§

    fn early_data_accepted(&self) -> Option<bool>

    If the 0-RTT-encrypted data has been accepted by the peer
    Source§

    fn is_handshaking(&self) -> bool

    Returns true until the connection is fully established.
    Source§

    fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>

    Read bytes of handshake data Read more
    Source§

    fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>

    The peer’s QUIC transport parameters Read more
    Source§

    fn write_handshake(&mut self, buf: &mut Vec<u8>) -> Option<Keys>

    Writes handshake bytes into the given buffer and optionally returns the negotiated keys Read more
    Source§

    fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>

    Compute keys for the next key update
    Source§

    fn is_valid_retry( +TlsSession in noq::crypto::rustls - Rust

    TlsSession

    Struct TlsSession 

    pub struct TlsSession { /* private fields */ }
    Expand description

    A rustls TLS session

    +

    Trait Implementations§

    §

    impl Session for TlsSession

    §

    fn peer_identity(&self) -> Option<Box<dyn Any>>

    For the rustls TlsSession, the Any type is Vec<rustls::pki_types::CertificateDer>

    +
    §

    fn initial_keys(&self, dst_cid: ConnectionId, side: Side) -> Keys

    Create the initial set of keys given the client’s initial destination ConnectionId
    §

    fn handshake_data(&self) -> Option<Box<dyn Any>>

    Get data negotiated during the handshake, if available Read more
    §

    fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>

    Get the 0-RTT keys if available (clients only) Read more
    §

    fn early_data_accepted(&self) -> Option<bool>

    If the 0-RTT-encrypted data has been accepted by the peer
    §

    fn is_handshaking(&self) -> bool

    Returns true until the connection is fully established.
    §

    fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>

    Read bytes of handshake data Read more
    §

    fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>

    The peer’s QUIC transport parameters Read more
    §

    fn write_handshake(&mut self, buf: &mut Vec<u8>) -> Option<Keys>

    Writes handshake bytes into the given buffer and optionally returns the negotiated keys Read more
    §

    fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>

    Compute keys for the next key update
    §

    fn is_valid_retry( &self, orig_dst_cid: ConnectionId, header: &[u8], payload: &[u8], -) -> bool

    Verify the integrity of a retry packet Read more
    Source§

    fn export_keying_material( +) -> bool

    Verify the integrity of a retry packet Read more
    §

    fn export_keying_material( &self, output: &mut [u8], label: &[u8], diff --git a/pr/547/docs/noq/crypto/struct.CryptoError.html b/pr/547/docs/noq/crypto/struct.CryptoError.html index 9972e9f65..241b8f10b 100644 --- a/pr/547/docs/noq/crypto/struct.CryptoError.html +++ b/pr/547/docs/noq/crypto/struct.CryptoError.html @@ -1,5 +1,5 @@ -CryptoError in noq::crypto - Rust

    CryptoError

    Struct CryptoError 

    Source
    pub struct CryptoError;
    Expand description

    Generic crypto errors

    -

    Trait Implementations§

    Source§

    impl Debug for CryptoError

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl From<Unspecified> for CryptoError

    Source§

    fn from(_: Unspecified) -> CryptoError

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +CryptoError in noq::crypto - Rust

    CryptoError

    Struct CryptoError 

    pub struct CryptoError;
    Expand description

    Generic crypto errors

    +

    Trait Implementations§

    §

    impl Debug for CryptoError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl From<Unspecified> for CryptoError

    §

    fn from(_: Unspecified) -> CryptoError

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/pr/547/docs/noq/crypto/struct.ExportKeyingMaterialError.html b/pr/547/docs/noq/crypto/struct.ExportKeyingMaterialError.html index 0c542ab5e..0b2b60f7a 100644 --- a/pr/547/docs/noq/crypto/struct.ExportKeyingMaterialError.html +++ b/pr/547/docs/noq/crypto/struct.ExportKeyingMaterialError.html @@ -1,7 +1,7 @@ -ExportKeyingMaterialError in noq::crypto - Rust

    ExportKeyingMaterialError

    Struct ExportKeyingMaterialError 

    Source
    pub struct ExportKeyingMaterialError;
    Expand description

    Error returned by Session::export_keying_material.

    +ExportKeyingMaterialError in noq::crypto - Rust

    ExportKeyingMaterialError

    Struct ExportKeyingMaterialError 

    pub struct ExportKeyingMaterialError;
    Expand description

    Error returned by Session::export_keying_material.

    This error occurs if the requested output length is too large.

    -

    Trait Implementations§

    Source§

    impl Debug for ExportKeyingMaterialError

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl PartialEq for ExportKeyingMaterialError

    Source§

    fn eq(&self, other: &ExportKeyingMaterialError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for ExportKeyingMaterialError

    Source§

    impl StructuralPartialEq for ExportKeyingMaterialError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Debug for ExportKeyingMaterialError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl PartialEq for ExportKeyingMaterialError

    §

    fn eq(&self, other: &ExportKeyingMaterialError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for ExportKeyingMaterialError

    §

    impl StructuralPartialEq for ExportKeyingMaterialError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/pr/547/docs/noq/crypto/struct.KeyPair.html b/pr/547/docs/noq/crypto/struct.KeyPair.html index b04e27a1d..0efcf9b35 100644 --- a/pr/547/docs/noq/crypto/struct.KeyPair.html +++ b/pr/547/docs/noq/crypto/struct.KeyPair.html @@ -1,4 +1,4 @@ -KeyPair in noq::crypto - Rust

    KeyPair

    Struct KeyPair 

    Source
    pub struct KeyPair<T> {
    +KeyPair in noq::crypto - Rust

    KeyPair

    Struct KeyPair 

    pub struct KeyPair<T> {
         pub local: T,
         pub remote: T,
     }
    Expand description

    A pair of keys for bidirectional communication

    diff --git a/pr/547/docs/noq/crypto/struct.Keys.html b/pr/547/docs/noq/crypto/struct.Keys.html index 9a2f6ee75..1b0cf0bb5 100644 --- a/pr/547/docs/noq/crypto/struct.Keys.html +++ b/pr/547/docs/noq/crypto/struct.Keys.html @@ -1,4 +1,4 @@ -Keys in noq::crypto - Rust

    Keys

    Struct Keys 

    Source
    pub struct Keys {
    +Keys in noq::crypto - Rust

    Keys

    Struct Keys 

    pub struct Keys {
         pub header: KeyPair<Box<dyn HeaderKey>>,
         pub packet: KeyPair<Box<dyn PacketKey>>,
     }
    Expand description

    A complete set of keys for a certain packet space

    diff --git a/pr/547/docs/noq/crypto/struct.UnsupportedVersion.html b/pr/547/docs/noq/crypto/struct.UnsupportedVersion.html index f77ec3a68..c27892c94 100644 --- a/pr/547/docs/noq/crypto/struct.UnsupportedVersion.html +++ b/pr/547/docs/noq/crypto/struct.UnsupportedVersion.html @@ -1,5 +1,5 @@ -UnsupportedVersion in noq::crypto - Rust

    UnsupportedVersion

    Struct UnsupportedVersion 

    Source
    pub struct UnsupportedVersion;
    Expand description

    Error indicating that the specified QUIC version is not supported

    -

    Trait Implementations§

    Source§

    impl Debug for UnsupportedVersion

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl From<UnsupportedVersion> for ConnectError

    Source§

    fn from(_: UnsupportedVersion) -> ConnectError

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +UnsupportedVersion in noq::crypto - Rust

    UnsupportedVersion

    Struct UnsupportedVersion 

    pub struct UnsupportedVersion;
    Expand description

    Error indicating that the specified QUIC version is not supported

    +

    Trait Implementations§

    §

    impl Debug for UnsupportedVersion

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl From<UnsupportedVersion> for ConnectError

    §

    fn from(_: UnsupportedVersion) -> ConnectError

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/pr/547/docs/noq/crypto/trait.ClientConfig.html b/pr/547/docs/noq/crypto/trait.ClientConfig.html index 613ecf973..c1050f10b 100644 --- a/pr/547/docs/noq/crypto/trait.ClientConfig.html +++ b/pr/547/docs/noq/crypto/trait.ClientConfig.html @@ -1,16 +1,16 @@ -ClientConfig in noq::crypto - Rust

    ClientConfig

    Trait ClientConfig 

    Source
    pub trait ClientConfig: Send + Sync {
    +ClientConfig in noq::crypto - Rust

    ClientConfig

    Trait ClientConfig 

    pub trait ClientConfig: Send + Sync {
         // Required method
         fn start_session(
             &self,
             version: u32,
             server_name: &str,
    -        params: &TransportParameters,
    +        params: &TransportParameters,
         ) -> Result<Box<dyn Session>, ConnectError>;
     }
    Expand description

    Client-side configuration for the crypto protocol

    -

    Required Methods§

    Required Methods§

    fn start_session( &self, version: u32, server_name: &str, - params: &TransportParameters, + params: &TransportParameters, ) -> Result<Box<dyn Session>, ConnectError>

    Start a client session with this configuration

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/crypto/trait.HandshakeTokenKey.html b/pr/547/docs/noq/crypto/trait.HandshakeTokenKey.html index d1afef56b..907ba4dd6 100644 --- a/pr/547/docs/noq/crypto/trait.HandshakeTokenKey.html +++ b/pr/547/docs/noq/crypto/trait.HandshakeTokenKey.html @@ -1,4 +1,4 @@ -HandshakeTokenKey in noq::crypto - Rust

    HandshakeTokenKey

    Trait HandshakeTokenKey 

    Source
    pub trait HandshakeTokenKey: Send + Sync {
    +HandshakeTokenKey in noq::crypto - Rust

    HandshakeTokenKey

    Trait HandshakeTokenKey 

    pub trait HandshakeTokenKey: Send + Sync {
         // Required methods
         fn seal(
             &self,
    @@ -11,10 +11,10 @@
             data: &'a mut [u8],
         ) -> Result<&'a [u8], CryptoError>;
     }
    Expand description

    The trait for encrypting tokens that power retry packets and NEW_TOKEN frames.

    -

    Required Methods§

    Source

    fn seal(&self, token_nonce: u128, data: &mut Vec<u8>) -> Result<(), CryptoError>

    Method for sealing a token in-place.

    +

    Required Methods§

    fn seal(&self, token_nonce: u128, data: &mut Vec<u8>) -> Result<(), CryptoError>

    Method for sealing a token in-place.

    The nonce doesn’t need to be attached to the ciphertext, but the authentication tag is expected to be appended to data.

    -
    Source

    fn open<'a>( +

    fn open<'a>( &self, token_nonce: u128, data: &'a mut [u8], diff --git a/pr/547/docs/noq/crypto/trait.HeaderKey.html b/pr/547/docs/noq/crypto/trait.HeaderKey.html index bd43de09f..0d1435da9 100644 --- a/pr/547/docs/noq/crypto/trait.HeaderKey.html +++ b/pr/547/docs/noq/crypto/trait.HeaderKey.html @@ -1,10 +1,10 @@ -HeaderKey in noq::crypto - Rust

    HeaderKey

    Trait HeaderKey 

    Source
    pub trait HeaderKey: Send + Sync {
    +HeaderKey in noq::crypto - Rust

    HeaderKey

    Trait HeaderKey 

    pub trait HeaderKey: Send + Sync {
         // Required methods
         fn decrypt(&self, pn_offset: usize, packet: &mut [u8]);
         fn encrypt(&self, pn_offset: usize, packet: &mut [u8]);
         fn sample_size(&self) -> usize;
     }
    Expand description

    Keys used to protect packet headers

    -

    Required Methods§

    Source

    fn decrypt(&self, pn_offset: usize, packet: &mut [u8])

    Decrypt the given packet’s header

    -
    Source

    fn encrypt(&self, pn_offset: usize, packet: &mut [u8])

    Encrypt the given packet’s header

    -
    Source

    fn sample_size(&self) -> usize

    The sample size used for this key’s algorithm

    -

    Implementations on Foreign Types§

    Source§

    impl HeaderKey for Box<dyn HeaderProtectionKey>

    Source§

    fn decrypt(&self, pn_offset: usize, packet: &mut [u8])

    Source§

    fn encrypt(&self, pn_offset: usize, packet: &mut [u8])

    Source§

    fn sample_size(&self) -> usize

    Implementors§

    \ No newline at end of file +

    Required Methods§

    fn decrypt(&self, pn_offset: usize, packet: &mut [u8])

    Decrypt the given packet’s header

    +

    fn encrypt(&self, pn_offset: usize, packet: &mut [u8])

    Encrypt the given packet’s header

    +

    fn sample_size(&self) -> usize

    The sample size used for this key’s algorithm

    +

    Implementations on Foreign Types§

    §

    impl HeaderKey for Box<dyn HeaderProtectionKey>

    §

    fn decrypt(&self, pn_offset: usize, packet: &mut [u8])

    §

    fn encrypt(&self, pn_offset: usize, packet: &mut [u8])

    §

    fn sample_size(&self) -> usize

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/crypto/trait.HmacKey.html b/pr/547/docs/noq/crypto/trait.HmacKey.html index 9b9937114..4b5f2d4bb 100644 --- a/pr/547/docs/noq/crypto/trait.HmacKey.html +++ b/pr/547/docs/noq/crypto/trait.HmacKey.html @@ -1,10 +1,10 @@ -HmacKey in noq::crypto - Rust

    HmacKey

    Trait HmacKey 

    Source
    pub trait HmacKey: Send + Sync {
    +HmacKey in noq::crypto - Rust

    HmacKey

    Trait HmacKey 

    pub trait HmacKey: Send + Sync {
         // Required methods
         fn sign(&self, data: &[u8], signature_out: &mut [u8]);
         fn signature_len(&self) -> usize;
         fn verify(&self, data: &[u8], signature: &[u8]) -> Result<(), CryptoError>;
     }
    Expand description

    A key for signing with HMAC-based algorithms

    -

    Required Methods§

    Source

    fn sign(&self, data: &[u8], signature_out: &mut [u8])

    Method for signing a message

    -
    Source

    fn signature_len(&self) -> usize

    Length of sign’s output

    -
    Source

    fn verify(&self, data: &[u8], signature: &[u8]) -> Result<(), CryptoError>

    Method for verifying a message

    -

    Implementations on Foreign Types§

    Source§

    impl HmacKey for Key

    Source§

    fn sign(&self, data: &[u8], out: &mut [u8])

    Source§

    fn signature_len(&self) -> usize

    Source§

    fn verify(&self, data: &[u8], signature: &[u8]) -> Result<(), CryptoError>

    Implementors§

    \ No newline at end of file +

    Required Methods§

    fn sign(&self, data: &[u8], signature_out: &mut [u8])

    Method for signing a message

    +

    fn signature_len(&self) -> usize

    Length of sign’s output

    +

    fn verify(&self, data: &[u8], signature: &[u8]) -> Result<(), CryptoError>

    Method for verifying a message

    +

    Implementations on Foreign Types§

    §

    impl HmacKey for Key

    §

    fn sign(&self, data: &[u8], out: &mut [u8])

    §

    fn signature_len(&self) -> usize

    §

    fn verify(&self, data: &[u8], signature: &[u8]) -> Result<(), CryptoError>

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/crypto/trait.PacketKey.html b/pr/547/docs/noq/crypto/trait.PacketKey.html index c670d4f6b..cafc8eb1e 100644 --- a/pr/547/docs/noq/crypto/trait.PacketKey.html +++ b/pr/547/docs/noq/crypto/trait.PacketKey.html @@ -1,4 +1,4 @@ -PacketKey in noq::crypto - Rust

    PacketKey

    Trait PacketKey 

    Source
    pub trait PacketKey: Send + Sync {
    +PacketKey in noq::crypto - Rust

    PacketKey

    Trait PacketKey 

    pub trait PacketKey: Send + Sync {
         // Required methods
         fn encrypt(
             &self,
    @@ -18,34 +18,34 @@
         fn confidentiality_limit(&self) -> u64;
         fn integrity_limit(&self) -> u64;
     }
    Expand description

    Keys used to protect packet payloads

    -

    Required Methods§

    Required Methods§

    fn encrypt( &self, path_id: PathId, packet: u64, buf: &mut [u8], header_len: usize, )

    Encrypt the packet payload with the given packet number

    -
    Source

    fn decrypt( +

    fn decrypt( &self, path_id: PathId, packet: u64, header: &[u8], payload: &mut BytesMut, ) -> Result<(), CryptoError>

    Decrypt the packet payload with the given packet number

    -
    Source

    fn tag_len(&self) -> usize

    The length of the AEAD tag appended to packets on encryption

    -
    Source

    fn confidentiality_limit(&self) -> u64

    Maximum number of packets that may be sent using a single key

    -
    Source

    fn integrity_limit(&self) -> u64

    Maximum number of incoming packets that may fail decryption before the connection must be +

    fn tag_len(&self) -> usize

    The length of the AEAD tag appended to packets on encryption

    +

    fn confidentiality_limit(&self) -> u64

    Maximum number of packets that may be sent using a single key

    +

    fn integrity_limit(&self) -> u64

    Maximum number of incoming packets that may fail decryption before the connection must be abandoned

    -

    Implementations on Foreign Types§

    Source§

    impl PacketKey for Box<dyn PacketKey>

    Implementations on Foreign Types§

    §

    impl PacketKey for Box<dyn PacketKey>

    §

    fn encrypt( &self, path_id: PathId, packet: u64, buf: &mut [u8], header_len: usize, -)

    Source§

    fn decrypt( +)

    §

    fn decrypt( &self, path_id: PathId, packet: u64, header: &[u8], payload: &mut BytesMut, -) -> Result<(), CryptoError>

    Source§

    fn tag_len(&self) -> usize

    Source§

    fn confidentiality_limit(&self) -> u64

    Source§

    fn integrity_limit(&self) -> u64

    Implementors§

    \ No newline at end of file +) -> Result<(), CryptoError>

    §

    fn tag_len(&self) -> usize

    §

    fn confidentiality_limit(&self) -> u64

    §

    fn integrity_limit(&self) -> u64

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/crypto/trait.ServerConfig.html b/pr/547/docs/noq/crypto/trait.ServerConfig.html index 1bab34898..21cc0eaf4 100644 --- a/pr/547/docs/noq/crypto/trait.ServerConfig.html +++ b/pr/547/docs/noq/crypto/trait.ServerConfig.html @@ -1,4 +1,4 @@ -ServerConfig in noq::crypto - Rust

    ServerConfig

    Trait ServerConfig 

    Source
    pub trait ServerConfig: Send + Sync {
    +ServerConfig in noq::crypto - Rust

    ServerConfig

    Trait ServerConfig 

    pub trait ServerConfig: Send + Sync {
         // Required methods
         fn initial_keys(
             &self,
    @@ -14,15 +14,15 @@
         fn start_session(
             &self,
             version: u32,
    -        params: &TransportParameters,
    +        params: &TransportParameters,
         ) -> Box<dyn Session>;
     }
    Expand description

    Server-side configuration for the crypto protocol

    -

    Required Methods§

    Required Methods§

    fn initial_keys( &self, version: u32, dst_cid: ConnectionId, ) -> Result<Keys, UnsupportedVersion>

    Create the initial set of keys given the client’s initial destination ConnectionId

    -
    Source

    fn retry_tag( +

    fn retry_tag( &self, version: u32, orig_dst_cid: ConnectionId, @@ -30,10 +30,10 @@ ) -> [u8; 16]

    Generate the integrity tag for a retry packet

    Never called if initial_keys rejected version.

    See the specification: https://www.rfc-editor.org/rfc/rfc9001#name-retry-packet-integrity

    -
    Source

    fn start_session( +

    fn start_session( &self, version: u32, - params: &TransportParameters, + params: &TransportParameters, ) -> Box<dyn Session>

    Start a server session with this configuration

    Never called if initial_keys rejected version.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/crypto/trait.Session.html b/pr/547/docs/noq/crypto/trait.Session.html index b85c826d9..a384ae3a3 100644 --- a/pr/547/docs/noq/crypto/trait.Session.html +++ b/pr/547/docs/noq/crypto/trait.Session.html @@ -1,4 +1,4 @@ -Session in noq::crypto - Rust

    Session

    Trait Session 

    Source
    pub trait Session:
    +Session in noq::crypto - Rust

    Session

    Trait Session 

    pub trait Session:
         Send
         + Sync
         + 'static {
    @@ -9,8 +9,8 @@
         fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>;
         fn early_data_accepted(&self) -> Option<bool>;
         fn is_handshaking(&self) -> bool;
    -    fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>;
    -    fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>;
    +    fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>;
    +    fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>;
         fn write_handshake(&mut self, buf: &mut Vec<u8>) -> Option<Keys>;
         fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>;
         fn is_valid_retry(
    @@ -26,37 +26,37 @@
             context: &[u8],
         ) -> Result<(), ExportKeyingMaterialError>;
     }
    Expand description

    A cryptographic session (commonly TLS)

    -

    Required Methods§

    Source

    fn initial_keys(&self, dst_cid: ConnectionId, side: Side) -> Keys

    Create the initial set of keys given the client’s initial destination ConnectionId

    -
    Source

    fn handshake_data(&self) -> Option<Box<dyn Any>>

    Get data negotiated during the handshake, if available

    +

    Required Methods§

    fn initial_keys(&self, dst_cid: ConnectionId, side: Side) -> Keys

    Create the initial set of keys given the client’s initial destination ConnectionId

    +

    fn handshake_data(&self) -> Option<Box<dyn Any>>

    Get data negotiated during the handshake, if available

    Returns None until the connection emits HandshakeDataReady.

    -
    Source

    fn peer_identity(&self) -> Option<Box<dyn Any>>

    Get the peer’s identity, if available

    -
    Source

    fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>

    Get the 0-RTT keys if available (clients only)

    +

    fn peer_identity(&self) -> Option<Box<dyn Any>>

    Get the peer’s identity, if available

    +

    fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>

    Get the 0-RTT keys if available (clients only)

    On the client side, this method can be used to see if 0-RTT key material is available to start sending data before the protocol handshake has completed.

    Returns None if the key material is not available. This might happen if you have not connected to this server before.

    -
    Source

    fn early_data_accepted(&self) -> Option<bool>

    If the 0-RTT-encrypted data has been accepted by the peer

    -
    Source

    fn is_handshaking(&self) -> bool

    Returns true until the connection is fully established.

    -
    Source

    fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>

    Read bytes of handshake data

    +

    fn early_data_accepted(&self) -> Option<bool>

    If the 0-RTT-encrypted data has been accepted by the peer

    +

    fn is_handshaking(&self) -> bool

    Returns true until the connection is fully established.

    +

    fn read_handshake(&mut self, buf: &[u8]) -> Result<bool, Error>

    Read bytes of handshake data

    This should be called with the contents of CRYPTO frames. If it returns Ok, the caller should call write_handshake() to check if the crypto protocol has anything to send to the peer. This method will only return true the first time that handshake data is available. Future calls will always return false.

    On success, returns true iff self.handshake_data() has been populated.

    -
    Source

    fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>

    The peer’s QUIC transport parameters

    +

    fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>

    The peer’s QUIC transport parameters

    These are only available after the first flight from the peer has been received.

    -
    Source

    fn write_handshake(&mut self, buf: &mut Vec<u8>) -> Option<Keys>

    Writes handshake bytes into the given buffer and optionally returns the negotiated keys

    +

    fn write_handshake(&mut self, buf: &mut Vec<u8>) -> Option<Keys>

    Writes handshake bytes into the given buffer and optionally returns the negotiated keys

    When the handshake proceeds to the next phase, this method will return a new set of keys to encrypt data with.

    -
    Source

    fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>

    Compute keys for the next key update

    -
    Source

    fn is_valid_retry( +

    fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>

    Compute keys for the next key update

    +

    fn is_valid_retry( &self, orig_dst_cid: ConnectionId, header: &[u8], payload: &[u8], ) -> bool

    Verify the integrity of a retry packet

    See the specification: https://www.rfc-editor.org/rfc/rfc9001#name-retry-packet-integrity

    -
    Source

    fn export_keying_material( +

    fn export_keying_material( &self, output: &mut [u8], label: &[u8], @@ -66,4 +66,4 @@ from the Session separation.

    This function will fail, returning ExportKeyingMaterialError, if the requested output length is too large.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/enum.ConfigError.html b/pr/547/docs/noq/enum.ConfigError.html index d9577900f..4dee45ac1 100644 --- a/pr/547/docs/noq/enum.ConfigError.html +++ b/pr/547/docs/noq/enum.ConfigError.html @@ -1,9 +1,9 @@ -ConfigError in noq - Rust

    ConfigError

    Enum ConfigError 

    Source
    #[non_exhaustive]
    pub enum ConfigError { +ConfigError in noq - Rust

    ConfigError

    Enum ConfigError 

    #[non_exhaustive]
    pub enum ConfigError { OutOfBounds, }
    Expand description

    Errors in the configuration of an endpoint

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    OutOfBounds

    Value exceeds supported bounds

    -

    Trait Implementations§

    Source§

    impl Clone for ConfigError

    Source§

    fn clone(&self) -> ConfigError

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ConfigError

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Display for ConfigError

    Source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Error for ConfigError

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    Source§

    impl From<TryFromIntError> for ConfigError

    Source§

    fn from(_: TryFromIntError) -> ConfigError

    Converts to this type from the input type.
    Source§

    impl From<VarIntBoundsExceeded> for ConfigError

    Source§

    fn from(_: VarIntBoundsExceeded) -> ConfigError

    Converts to this type from the input type.
    Source§

    impl PartialEq for ConfigError

    Source§

    fn eq(&self, other: &ConfigError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for ConfigError

    Source§

    impl StructuralPartialEq for ConfigError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ConfigError

    §

    fn clone(&self) -> ConfigError

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ConfigError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for ConfigError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for ConfigError

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    §

    impl From<TryFromIntError> for ConfigError

    §

    fn from(_: TryFromIntError) -> ConfigError

    Converts to this type from the input type.
    §

    impl From<VarIntBoundsExceeded> for ConfigError

    §

    fn from(_: VarIntBoundsExceeded) -> ConfigError

    Converts to this type from the input type.
    §

    impl PartialEq for ConfigError

    §

    fn eq(&self, other: &ConfigError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for ConfigError

    §

    impl StructuralPartialEq for ConfigError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/enum.ConnectError.html b/pr/547/docs/noq/enum.ConnectError.html index 1bef64fbb..ea4c8b75f 100644 --- a/pr/547/docs/noq/enum.ConnectError.html +++ b/pr/547/docs/noq/enum.ConnectError.html @@ -1,4 +1,4 @@ -ConnectError in noq - Rust

    ConnectError

    Enum ConnectError 

    Source
    pub enum ConnectError {
    +ConnectError in noq - Rust

    ConnectError

    Enum ConnectError 

    pub enum ConnectError {
         EndpointStopping,
         CidsExhausted,
         InvalidServerName(String),
    @@ -17,8 +17,8 @@
     
    §

    NoDefaultClientConfig

    No default client configuration was set up

    Use Endpoint::connect_with to specify a client configuration.

    §

    UnsupportedVersion

    The local endpoint does not support the QUIC version specified in the client configuration

    -

    Trait Implementations§

    Source§

    impl Clone for ConnectError

    Source§

    fn clone(&self) -> ConnectError

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ConnectError

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Display for ConnectError

    Source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Error for ConnectError

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    Source§

    impl From<UnsupportedVersion> for ConnectError

    Source§

    fn from(_: UnsupportedVersion) -> ConnectError

    Converts to this type from the input type.
    Source§

    impl PartialEq for ConnectError

    Source§

    fn eq(&self, other: &ConnectError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for ConnectError

    Source§

    impl StructuralPartialEq for ConnectError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ConnectError

    §

    fn clone(&self) -> ConnectError

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ConnectError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for ConnectError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for ConnectError

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    §

    impl From<UnsupportedVersion> for ConnectError

    §

    fn from(_: UnsupportedVersion) -> ConnectError

    Converts to this type from the input type.
    §

    impl PartialEq for ConnectError

    §

    fn eq(&self, other: &ConnectError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for ConnectError

    §

    impl StructuralPartialEq for ConnectError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/enum.ConnectionError.html b/pr/547/docs/noq/enum.ConnectionError.html index b58484408..eb0f89838 100644 --- a/pr/547/docs/noq/enum.ConnectionError.html +++ b/pr/547/docs/noq/enum.ConnectionError.html @@ -1,6 +1,6 @@ -ConnectionError in noq - Rust

    ConnectionError

    Enum ConnectionError 

    Source
    pub enum ConnectionError {
    +ConnectionError in noq - Rust

    ConnectionError

    Enum ConnectionError 

    pub enum ConnectionError {
         VersionMismatch,
    -    TransportError(Error),
    +    TransportError(Error),
         ConnectionClosed(ConnectionClose),
         ApplicationClosed(ApplicationClose),
         Reset,
    @@ -9,7 +9,7 @@
         CidsExhausted,
     }
    Expand description

    Reasons why a connection might be lost

    Variants§

    §

    VersionMismatch

    The peer doesn’t implement any supported version

    -
    §

    TransportError(Error)

    The peer violated the QUIC specification as understood by this implementation

    +
    §

    TransportError(Error)

    The peer violated the QUIC specification as understood by this implementation

    §

    ConnectionClosed(ConnectionClose)

    The peer’s QUIC stack aborted the connection automatically

    §

    ApplicationClosed(ApplicationClose)

    The peer closed the connection

    §

    Reset

    The peer is unable to continue processing this connection, usually due to having restarted

    @@ -20,8 +20,8 @@ and §

    LocallyClosed

    The local application closed the connection

    §

    CidsExhausted

    The connection could not be created because not enough of the CID space is available

    Try using longer connection IDs.

    -

    Trait Implementations§

    Source§

    impl Clone for ConnectionError

    Source§

    fn clone(&self) -> ConnectionError

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ConnectionError

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Display for ConnectionError

    Source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Error for ConnectionError

    Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    Source§

    impl From<Close> for ConnectionError

    Source§

    fn from(x: Close) -> ConnectionError

    Converts to this type from the input type.
    Source§

    impl From<CloseReason> for ConnectionError

    Source§

    fn from(value: CloseReason) -> ConnectionError

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for ReadError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for ResetError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for SendDatagramError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for StoppedError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for WriteError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<Error> for ConnectionError

    Source§

    fn from(source: Error) -> ConnectionError

    Converts to this type from the input type.
    Source§

    impl PartialEq for ConnectionError

    Source§

    fn eq(&self, other: &ConnectionError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for ConnectionError

    Source§

    impl StructuralPartialEq for ConnectionError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ConnectionError

    §

    fn clone(&self) -> ConnectionError

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ConnectionError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for ConnectionError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for ConnectionError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    §

    impl From<Close> for ConnectionError

    §

    fn from(x: Close) -> ConnectionError

    Converts to this type from the input type.
    §

    impl From<CloseReason> for ConnectionError

    §

    fn from(value: CloseReason) -> ConnectionError

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for ReadError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for ResetError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for SendDatagramError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for StoppedError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ConnectionError> for WriteError

    Source§

    fn from(source: ConnectionError) -> Self

    Converts to this type from the input type.
    §

    impl From<Error> for ConnectionError

    §

    fn from(source: Error) -> ConnectionError

    Converts to this type from the input type.
    §

    impl PartialEq for ConnectionError

    §

    fn eq(&self, other: &ConnectionError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for ConnectionError

    §

    impl StructuralPartialEq for ConnectionError

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/enum.Dir.html b/pr/547/docs/noq/enum.Dir.html index d7de578ea..accca563d 100644 --- a/pr/547/docs/noq/enum.Dir.html +++ b/pr/547/docs/noq/enum.Dir.html @@ -1,25 +1,25 @@ -Dir in noq - Rust

    Dir

    Enum Dir 

    Source
    pub enum Dir {
    +Dir in noq - Rust

    Dir

    Enum Dir 

    pub enum Dir {
         Bi = 0,
         Uni = 1,
     }
    Expand description

    Whether a stream communicates data in both directions or only from the initiator

    Variants§

    §

    Bi = 0

    Data flows in both directions

    §

    Uni = 1

    Data flows only from the stream’s initiator

    -

    Trait Implementations§

    Source§

    impl<'arbitrary> Arbitrary<'arbitrary> for Dir

    Source§

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Dir, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    Source§

    fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Dir, Error>

    Generate an arbitrary value of Self from the entirety of the given -unstructured data. Read more
    Source§

    fn size_hint(depth: usize) -> (usize, Option<usize>)

    Get a size hint for how many bytes out of an Unstructured this type +

    Trait Implementations§

    §

    impl<'arbitrary> Arbitrary<'arbitrary> for Dir

    §

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Dir, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    §

    fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Dir, Error>

    Generate an arbitrary value of Self from the entirety of the given +unstructured data. Read more
    §

    fn size_hint(depth: usize) -> (usize, Option<usize>)

    Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
    §

    fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

    Get a size hint for how many bytes out of an Unstructured this type -needs to construct itself. Read more
    Source§

    impl Clone for Dir

    Source§

    fn clone(&self) -> Dir

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Dir

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Display for Dir

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Hash for Dir

    Source§

    fn hash<__H>(&self, state: &mut __H)
    where +needs to construct itself. Read more

    §

    impl Clone for Dir

    §

    fn clone(&self) -> Dir

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Dir

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for Dir

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Hash for Dir

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · Source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    Source§

    impl Ord for Dir

    Source§

    fn cmp(&self, other: &Dir) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Ord for Dir

    §

    fn cmp(&self, other: &Dir) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · Source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · Source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    Source§

    impl PartialEq for Dir

    Source§

    fn eq(&self, other: &Dir) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl PartialOrd for Dir

    Source§

    fn partial_cmp(&self, other: &Dir) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more

    §

    impl PartialEq for Dir

    §

    fn eq(&self, other: &Dir) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl PartialOrd for Dir

    §

    fn partial_cmp(&self, other: &Dir) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    Source§

    impl Copy for Dir

    Source§

    impl Eq for Dir

    Source§

    impl StructuralPartialEq for Dir

    Auto Trait Implementations§

    §

    impl Freeze for Dir

    §

    impl RefUnwindSafe for Dir

    §

    impl Send for Dir

    §

    impl Sync for Dir

    §

    impl Unpin for Dir

    §

    impl UnwindSafe for Dir

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +the >= operator. Read more

    §

    impl Copy for Dir

    §

    impl Eq for Dir

    §

    impl StructuralPartialEq for Dir

    Auto Trait Implementations§

    §

    impl Freeze for Dir

    §

    impl RefUnwindSafe for Dir

    §

    impl Send for Dir

    §

    impl Sync for Dir

    §

    impl Unpin for Dir

    §

    impl UnwindSafe for Dir

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/enum.EcnCodepoint.html b/pr/547/docs/noq/enum.EcnCodepoint.html index 78ed5f186..80d1346f4 100644 --- a/pr/547/docs/noq/enum.EcnCodepoint.html +++ b/pr/547/docs/noq/enum.EcnCodepoint.html @@ -1,4 +1,4 @@ -EcnCodepoint in noq - Rust

    EcnCodepoint

    Enum EcnCodepoint 

    Source
    #[repr(u8)]
    pub enum EcnCodepoint { +EcnCodepoint in noq - Rust

    EcnCodepoint

    Enum EcnCodepoint 

    #[repr(u8)]
    pub enum EcnCodepoint { Ect0 = 2, Ect1 = 1, Ce = 3, @@ -6,10 +6,10 @@

    Variants§

    §

    Ect0 = 2

    The ECT(0) codepoint, indicating that an endpoint is ECN-capable

    §

    Ect1 = 1

    The ECT(1) codepoint, indicating that an endpoint is ECN-capable

    §

    Ce = 3

    The CE codepoint, signalling that congestion was experienced

    -

    Implementations§

    Source§

    impl EcnCodepoint

    Source

    pub fn from_bits(x: u8) -> Option<EcnCodepoint>

    Create new object from the given bits

    -
    Source

    pub fn is_ce(self) -> bool

    Returns whether the codepoint is a CE, signalling that congestion was experienced

    -

    Trait Implementations§

    Source§

    impl Clone for EcnCodepoint

    Source§

    fn clone(&self) -> EcnCodepoint

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for EcnCodepoint

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl PartialEq for EcnCodepoint

    Source§

    fn eq(&self, other: &EcnCodepoint) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Copy for EcnCodepoint

    Source§

    impl Eq for EcnCodepoint

    Source§

    impl StructuralPartialEq for EcnCodepoint

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Implementations§

    §

    impl EcnCodepoint

    pub fn from_bits(x: u8) -> Option<EcnCodepoint>

    Create new object from the given bits

    +

    pub fn is_ce(self) -> bool

    Returns whether the codepoint is a CE, signalling that congestion was experienced

    +

    Trait Implementations§

    §

    impl Clone for EcnCodepoint

    §

    fn clone(&self) -> EcnCodepoint

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EcnCodepoint

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl PartialEq for EcnCodepoint

    §

    fn eq(&self, other: &EcnCodepoint) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Copy for EcnCodepoint

    §

    impl Eq for EcnCodepoint

    §

    impl StructuralPartialEq for EcnCodepoint

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/enum.FrameType.html b/pr/547/docs/noq/enum.FrameType.html index 0b1b223f9..8b88c1f95 100644 --- a/pr/547/docs/noq/enum.FrameType.html +++ b/pr/547/docs/noq/enum.FrameType.html @@ -1,4 +1,4 @@ -FrameType in noq - Rust

    FrameType

    Enum FrameType 

    Source
    pub enum FrameType {
    +FrameType in noq - Rust

    FrameType

    Enum FrameType 

    pub enum FrameType {
     
    Show 44 variants Padding, Ping, Ack, @@ -7,7 +7,7 @@ StopSending, Crypto, NewToken, - Stream(StreamInfo), + Stream(StreamInfo), MaxData, MaxStreamData, MaxStreamsBidi, @@ -25,7 +25,7 @@ HandshakeDone, AckFrequency, ImmediateAck, - Datagram(DatagramInfo), + Datagram(DatagramInfo), ObservedIpv4Addr, ObservedIpv6Addr, PathAck, @@ -43,10 +43,10 @@ ReachOutAtIpv4, ReachOutAtIpv6, RemoveAddress, -
    }

    Variants§

    §

    Padding

    §

    Ping

    §

    Ack

    §

    AckEcn

    §

    ResetStream

    §

    StopSending

    §

    Crypto

    §

    NewToken

    §

    Stream(StreamInfo)

    §

    MaxData

    §

    MaxStreamData

    §

    MaxStreamsBidi

    §

    MaxStreamsUni

    §

    DataBlocked

    §

    StreamDataBlocked

    §

    StreamsBlockedBidi

    §

    StreamsBlockedUni

    §

    NewConnectionId

    §

    RetireConnectionId

    §

    PathChallenge

    §

    PathResponse

    §

    ConnectionClose

    §

    ApplicationClose

    §

    HandshakeDone

    §

    AckFrequency

    §

    ImmediateAck

    §

    Datagram(DatagramInfo)

    §

    ObservedIpv4Addr

    §

    ObservedIpv6Addr

    §

    PathAck

    §

    PathAckEcn

    §

    PathAbandon

    §

    PathStatusBackup

    §

    PathStatusAvailable

    §

    PathNewConnectionId

    §

    PathRetireConnectionId

    §

    MaxPathId

    §

    PathsBlocked

    §

    PathCidsBlocked

    §

    AddIpv4Address

    §

    AddIpv6Address

    §

    ReachOutAtIpv4

    §

    ReachOutAtIpv6

    §

    RemoveAddress

    Trait Implementations§

    Source§

    impl Clone for FrameType

    Source§

    fn clone(&self) -> FrameType

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for FrameType

    Source§

    fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Decodable for FrameType

    Source§

    fn decode<B>(buf: &mut B) -> Result<FrameType, UnexpectedEnd>
    where - B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    Source§

    impl Display for FrameType

    Source§

    fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Encodable for FrameType

    Source§

    fn encode<B>(&self, buf: &mut B)
    where - B: BufMut,

    Append the encoding of self to the provided buffer.
    Source§

    impl PartialEq for FrameType

    Source§

    fn eq(&self, other: &FrameType) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl TryFrom<u64> for FrameType

    Source§

    type Error = InvalidFrameId

    The type returned in the event of a conversion error.
    Source§

    fn try_from(value: u64) -> Result<FrameType, <FrameType as TryFrom<u64>>::Error>

    Performs the conversion.
    Source§

    impl Copy for FrameType

    Source§

    impl Eq for FrameType

    Source§

    impl StructuralPartialEq for FrameType

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    }

    Variants§

    §

    Padding

    §

    Ping

    §

    Ack

    §

    AckEcn

    §

    ResetStream

    §

    StopSending

    §

    Crypto

    §

    NewToken

    §

    Stream(StreamInfo)

    §

    MaxData

    §

    MaxStreamData

    §

    MaxStreamsBidi

    §

    MaxStreamsUni

    §

    DataBlocked

    §

    StreamDataBlocked

    §

    StreamsBlockedBidi

    §

    StreamsBlockedUni

    §

    NewConnectionId

    §

    RetireConnectionId

    §

    PathChallenge

    §

    PathResponse

    §

    ConnectionClose

    §

    ApplicationClose

    §

    HandshakeDone

    §

    AckFrequency

    §

    ImmediateAck

    §

    Datagram(DatagramInfo)

    §

    ObservedIpv4Addr

    §

    ObservedIpv6Addr

    §

    PathAck

    §

    PathAckEcn

    §

    PathAbandon

    §

    PathStatusBackup

    §

    PathStatusAvailable

    §

    PathNewConnectionId

    §

    PathRetireConnectionId

    §

    MaxPathId

    §

    PathsBlocked

    §

    PathCidsBlocked

    §

    AddIpv4Address

    §

    AddIpv6Address

    §

    ReachOutAtIpv4

    §

    ReachOutAtIpv6

    §

    RemoveAddress

    Trait Implementations§

    §

    impl Clone for FrameType

    §

    fn clone(&self) -> FrameType

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for FrameType

    §

    fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Decodable for FrameType

    §

    fn decode<B>(buf: &mut B) -> Result<FrameType, UnexpectedEnd>
    where + B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    §

    impl Display for FrameType

    §

    fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Encodable for FrameType

    §

    fn encode<B>(&self, buf: &mut B)
    where + B: BufMut,

    Append the encoding of self to the provided buffer.
    §

    impl PartialEq for FrameType

    §

    fn eq(&self, other: &FrameType) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl TryFrom<u64> for FrameType

    §

    type Error = InvalidFrameId

    The type returned in the event of a conversion error.
    §

    fn try_from(value: u64) -> Result<FrameType, <FrameType as TryFrom<u64>>::Error>

    Performs the conversion.
    §

    impl Copy for FrameType

    §

    impl Eq for FrameType

    §

    impl StructuralPartialEq for FrameType

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/enum.Side.html b/pr/547/docs/noq/enum.Side.html index b8e235db9..48f91ae13 100644 --- a/pr/547/docs/noq/enum.Side.html +++ b/pr/547/docs/noq/enum.Side.html @@ -1,27 +1,27 @@ -Side in noq - Rust

    Side

    Enum Side 

    Source
    pub enum Side {
    +Side in noq - Rust

    Side

    Enum Side 

    pub enum Side {
         Client = 0,
         Server = 1,
     }
    Expand description

    Whether an endpoint was the initiator of a connection

    Variants§

    §

    Client = 0

    The initiator of a connection

    §

    Server = 1

    The acceptor of a connection

    -

    Implementations§

    Source§

    impl Side

    Source

    pub fn is_client(self) -> bool

    Shorthand for self == Side::Client

    -
    Source

    pub fn is_server(self) -> bool

    Shorthand for self == Side::Server

    -

    Trait Implementations§

    Source§

    impl<'arbitrary> Arbitrary<'arbitrary> for Side

    Source§

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Side, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    Source§

    fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Side, Error>

    Generate an arbitrary value of Self from the entirety of the given -unstructured data. Read more
    Source§

    fn size_hint(depth: usize) -> (usize, Option<usize>)

    Get a size hint for how many bytes out of an Unstructured this type +

    Implementations§

    §

    impl Side

    pub fn is_client(self) -> bool

    Shorthand for self == Side::Client

    +

    pub fn is_server(self) -> bool

    Shorthand for self == Side::Server

    +

    Trait Implementations§

    §

    impl<'arbitrary> Arbitrary<'arbitrary> for Side

    §

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Side, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    §

    fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Side, Error>

    Generate an arbitrary value of Self from the entirety of the given +unstructured data. Read more
    §

    fn size_hint(depth: usize) -> (usize, Option<usize>)

    Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
    §

    fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

    Get a size hint for how many bytes out of an Unstructured this type -needs to construct itself. Read more
    Source§

    impl Clone for Side

    Source§

    fn clone(&self) -> Side

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Side

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Hash for Side

    Source§

    fn hash<__H>(&self, state: &mut __H)
    where +needs to construct itself. Read more

    §

    impl Clone for Side

    §

    fn clone(&self) -> Side

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Side

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Hash for Side

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · Source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    Source§

    impl Not for Side

    Source§

    type Output = Side

    The resulting type after applying the ! operator.
    Source§

    fn not(self) -> Side

    Performs the unary ! operation. Read more
    Source§

    impl Ord for Side

    Source§

    fn cmp(&self, other: &Side) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Not for Side

    §

    type Output = Side

    The resulting type after applying the ! operator.
    §

    fn not(self) -> Side

    Performs the unary ! operation. Read more
    §

    impl Ord for Side

    §

    fn cmp(&self, other: &Side) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · Source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · Source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    Source§

    impl PartialEq for Side

    Source§

    fn eq(&self, other: &Side) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl PartialOrd for Side

    Source§

    fn partial_cmp(&self, other: &Side) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more

    §

    impl PartialEq for Side

    §

    fn eq(&self, other: &Side) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl PartialOrd for Side

    §

    fn partial_cmp(&self, other: &Side) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    Source§

    impl Copy for Side

    Source§

    impl Eq for Side

    Source§

    impl StructuralPartialEq for Side

    Auto Trait Implementations§

    §

    impl Freeze for Side

    §

    impl RefUnwindSafe for Side

    §

    impl Send for Side

    §

    impl Sync for Side

    §

    impl Unpin for Side

    §

    impl UnwindSafe for Side

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +the >= operator. Read more

    §

    impl Copy for Side

    §

    impl Eq for Side

    §

    impl StructuralPartialEq for Side

    Auto Trait Implementations§

    §

    impl Freeze for Side

    §

    impl RefUnwindSafe for Side

    §

    impl Send for Side

    §

    impl Sync for Side

    §

    impl Unpin for Side

    §

    impl UnwindSafe for Side

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/index.html b/pr/547/docs/noq/index.html index 1580f6685..a30817f3b 100644 --- a/pr/547/docs/noq/index.html +++ b/pr/547/docs/noq/index.html @@ -30,6 +30,6 @@ authority. If this is infeasible–for example, if servers are short-lived or no with a domain name–then as with TLS, self-signed certificates can be used to provide encryption alone.

    Re-exports§

    pub use rustls;
    pub use udp;

    Modules§

    congestion
    Logic for controlling the rate at which data is sent
    crypto
    Traits and implementations for the QUIC cryptography protocol

    Structs§

    Accept
    Future produced by Endpoint::accept
    AcceptBi
    Future produced by Connection::accept_bi
    AcceptUni
    Future produced by Connection::accept_uni
    AckFrequencyConfig
    Parameters for controlling the peer’s acknowledgement frequency
    AddressDiscovery
    Stream produced by Path::observed_external_addr
    ApplicationClose
    Reason given by an application for closing the connection
    BloomTokenLog
    Bloom filter-based TokenLog
    Chunk
    A chunk of data from the receive stream
    ClientConfig
    Configuration for outgoing connections
    ClosedStream
    Error indicating that a stream has not been opened or has already been finished or reset
    Connecting
    In-progress connection attempt future
    Connection
    A QUIC connection.
    ConnectionClose
    Reason given by the transport for closing the connection
    ConnectionId
    Protocol-level identifier for a connection.
    ConnectionStats
    Connection statistics.
    Endpoint
    A QUIC endpoint.
    EndpointConfig
    Global configuration for the endpoint, affecting all connections
    EndpointStats
    Statistics on Endpoint activity
    FrameStats
    Number of frames transmitted or received of each frame type.
    IdleTimeout
    Maximum duration of inactivity to accept before timing out the connection
    Incoming
    An incoming connection for which the server has not yet begun its part of the handshake
    IncomingFuture
    Basic adapter to let Incoming be await-ed like a Connecting
    InvalidCid
    The connection ID was not recognized by the ConnectionIdGenerator
    Lagged
    The receiver lagged too far behind. Attempting to receive again will -return the oldest message still retained by the channel.
    MtuDiscoveryConfig
    Parameters governing MTU discovery.
    NatTraversalUpdates
    A stream of NAT traversal updates for a connection.
    NoneTokenLog
    Null implementation of TokenLog, which never accepts tokens
    NoneTokenStore
    Null implementation of TokenStore, which does not store any tokens
    ObservedExternalAddr
    Watches the external address reported by the peer for this connection.
    OnClosed
    Future returned by Connection::on_closed
    OpenBi
    Future produced by Connection::open_bi
    OpenPath
    Future produced by crate::Connection::open_path
    OpenUni
    Future produced by Connection::open_uni
    Path
    An open network transmission within a multipath-enabled connection.
    PathEvents
    A stream of PathEvents for all paths in a connection.
    PathId
    Id representing different paths when using multipath extension
    PathStats
    Statistics related to a transmission path.
    QlogConfig
    Configuration for qlog trace logging.
    QlogFileFactory
    Enables writing qlog traces to a directory.
    ReadDatagram
    Future produced by Connection::read_datagram
    RecvStream
    A stream that can only be used to receive data
    RetryError
    Error for attempting to retry an Incoming which already bears a token from a previous retry
    SendDatagram
    Future produced by Connection::send_datagram_wait
    SendStream
    A stream that can only be used to send data
    ServerConfig
    Parameters governing incoming connections
    SmolRuntime
    A noq runtime for smol
    StdSystemTime
    Default implementation of TimeSource
    Stopped
    Future returned from SendStream::stopped.
    StreamId
    Identifier for a stream within a particular connection
    TokenMemoryCache
    TokenStore implementation that stores up to N tokens per server name for up to a +return the oldest message still retained by the channel.
    MtuDiscoveryConfig
    Parameters governing MTU discovery.
    NatTraversalUpdates
    A stream of NAT traversal updates for a connection.
    NoneTokenLog
    Null implementation of TokenLog, which never accepts tokens
    NoneTokenStore
    Null implementation of TokenStore, which does not store any tokens
    ObservedExternalAddr
    Watches the external address reported by the peer for this connection.
    OnClosed
    Future returned by Connection::on_closed
    OpenBi
    Future produced by Connection::open_bi
    OpenPath
    Future produced by crate::Connection::open_path
    OpenUni
    Future produced by Connection::open_uni
    Path
    An open network transmission within a multipath-enabled connection.
    PathEvents
    A stream of [PathEvent]s for all paths in a connection.
    PathId
    Id representing different paths when using multipath extension
    PathStats
    Statistics related to a transmission path.
    QlogConfig
    Configuration for qlog trace logging.
    QlogFileFactory
    Enables writing qlog traces to a directory.
    ReadDatagram
    Future produced by Connection::read_datagram
    RecvStream
    A stream that can only be used to receive data
    RetryError
    Error for attempting to retry an Incoming which already bears a token from a previous retry
    SendDatagram
    Future produced by Connection::send_datagram_wait
    SendStream
    A stream that can only be used to send data
    ServerConfig
    Parameters governing incoming connections
    SmolRuntime
    A noq runtime for smol
    StdSystemTime
    Default implementation of TimeSource
    Stopped
    Future returned from SendStream::stopped.
    StreamId
    Identifier for a stream within a particular connection
    TokenMemoryCache
    TokenStore implementation that stores up to N tokens per server name for up to a limited number of server names, in-memory
    TokenReuseError
    Error for when a validation token may have been reused
    TokioRuntime
    A noq runtime for Tokio
    Transmit
    An outgoing packet
    TransportConfig
    Parameters governing the core QUIC state machine
    TransportErrorCode
    Transport-level error code
    UdpStats
    Statistics about UDP datagrams transmitted or received on a connection.
    UnorderedRecvStream
    A stream that can be used to receive data out-of-order.
    ValidationTokenConfig
    Configuration for sending and handling validation tokens in incoming connections
    VarInt
    An integer less than 2^62
    VarIntBoundsExceeded
    Error returned when constructing a VarInt from a value >= 2^62
    WeakConnectionHandle
    A handle to some connection internals, use with care.
    WeakPathHandle
    Weak handle for a Path that does not keep the connection alive.
    Written
    Indicates how many bytes and chunks had been transferred in a write operation
    ZeroRttAccepted
    Future that completes when a connection is fully established

    Enums§

    ConfigError
    Errors in the configuration of an endpoint
    ConnectError
    Errors in the parameters being used to create a new connection
    ConnectionError
    Reasons why a connection might be lost
    Dir
    Whether a stream communicates data in both directions or only from the initiator
    EcnCodepoint
    Explicit congestion notification codepoint
    FrameType
    ReadError
    Errors that arise from reading from a stream.
    ReadExactError
    Errors that arise from reading from a stream.
    ReadToEndError
    Errors from RecvStream::read_to_end
    ResetError
    Errors that arise while waiting for a stream to be reset
    SendDatagramError
    Errors that can arise when sending a datagram
    Side
    Whether an endpoint was the initiator of a connection
    StoppedError
    Errors that arise while monitoring for a send stream stop from the peer
    WriteError
    Errors that arise from writing to a stream

    Traits§

    AsyncTimer
    Abstract implementation of an async timer for runtime independence
    AsyncUdpSocket
    Abstract implementation of a UDP socket for runtime independence
    ConnectionIdGenerator
    Generates connection IDs for incoming connections
    NetworkChangeHint
    Hints when the caller identifies a network change.
    QlogFactory
    Constructs a QlogConfig for individual connections.
    Runtime
    Abstracts I/O and timer operations for runtime independence
    TimeSource
    Object to get current SystemTime
    TokenLog
    Responsible for limiting clients’ ability to reuse validation tokens
    TokenStore
    Responsible for storing validation tokens received from servers and retrieving them for use in subsequent connections
    UdpSender
    An object for asynchronously writing to an associated AsyncUdpSocket.

    Functions§

    default_runtime
    Automatically select an appropriate runtime from those enabled at compile time
    \ No newline at end of file diff --git a/pr/547/docs/noq/struct.AckFrequencyConfig.html b/pr/547/docs/noq/struct.AckFrequencyConfig.html index 846cbe3af..0713c9549 100644 --- a/pr/547/docs/noq/struct.AckFrequencyConfig.html +++ b/pr/547/docs/noq/struct.AckFrequencyConfig.html @@ -1,4 +1,4 @@ -AckFrequencyConfig in noq - Rust

    AckFrequencyConfig

    Struct AckFrequencyConfig 

    Source
    pub struct AckFrequencyConfig { /* private fields */ }
    Expand description

    Parameters for controlling the peer’s acknowledgement frequency

    +AckFrequencyConfig in noq - Rust

    AckFrequencyConfig

    Struct AckFrequencyConfig 

    pub struct AckFrequencyConfig { /* private fields */ }
    Expand description

    Parameters for controlling the peer’s acknowledgement frequency

    The parameters provided in this config will be sent to the peer at the beginning of the connection, so it can take them into account when sending acknowledgements (see each parameter’s description for details on how it influences acknowledgement frequency).

    @@ -7,7 +7,7 @@ description for details on how it influences acknowledgement frequency).

    The defaults produce behavior slightly different than the behavior without this extension, because they change the way reordered packets are handled (see AckFrequencyConfig::reordering_threshold for details).

    -

    Implementations§

    Source§

    impl AckFrequencyConfig

    Implementations§

    §

    impl AckFrequencyConfig

    pub fn ack_eliciting_threshold( &mut self, value: VarInt, ) -> &mut AckFrequencyConfig

    The ack-eliciting threshold we will request the peer to use

    @@ -17,7 +17,7 @@ without immediately sending an ACK.

    ack-eliciting packets have been received. A value of 0 results in a receiver immediately acknowledging every ack-eliciting packet.

    Defaults to 1, which sends ACK frames for every other ack-eliciting packet.

    -
    Source

    pub fn max_ack_delay( +

    pub fn max_ack_delay( &mut self, value: Option<Duration>, ) -> &mut AckFrequencyConfig

    The max_ack_delay we will request the peer to use

    @@ -27,7 +27,7 @@ an ACK when the ack-eliciting threshold hasn’t been reached.

    transport parameter, and at most the greater of the current path RTT or 25ms.

    Defaults to None, in which case the peer’s original max_ack_delay will be used, as obtained from its transport parameters.

    -
    Source

    pub fn reordering_threshold(&mut self, value: VarInt) -> &mut AckFrequencyConfig

    The reordering threshold we will request the peer to use

    +

    pub fn reordering_threshold(&mut self, value: VarInt) -> &mut AckFrequencyConfig

    The reordering threshold we will request the peer to use

    This threshold represents the amount of out-of-order packets that will trigger an endpoint to send an ACK, without waiting for ack_eliciting_threshold to be exceeded or for max_ack_delay to be elapsed.

    @@ -37,7 +37,7 @@ behavior when the extension is disabled).

    It is recommended to set this value to TransportConfig::packet_threshold minus one. Since the default value for TransportConfig::packet_threshold is 3, this value defaults to 2.

    -

    Trait Implementations§

    Source§

    impl Clone for AckFrequencyConfig

    Source§

    fn clone(&self) -> AckFrequencyConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for AckFrequencyConfig

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for AckFrequencyConfig

    Source§

    fn default() -> AckFrequencyConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for AckFrequencyConfig

    §

    fn clone(&self) -> AckFrequencyConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for AckFrequencyConfig

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for AckFrequencyConfig

    §

    fn default() -> AckFrequencyConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.ApplicationClose.html b/pr/547/docs/noq/struct.ApplicationClose.html index f221a3f42..f0e90fca1 100644 --- a/pr/547/docs/noq/struct.ApplicationClose.html +++ b/pr/547/docs/noq/struct.ApplicationClose.html @@ -1,11 +1,11 @@ -ApplicationClose in noq - Rust

    ApplicationClose

    Struct ApplicationClose 

    Source
    pub struct ApplicationClose {
    +ApplicationClose in noq - Rust

    ApplicationClose

    Struct ApplicationClose 

    pub struct ApplicationClose {
         pub error_code: VarInt,
         pub reason: Bytes,
     }
    Expand description

    Reason given by an application for closing the connection

    Fields§

    §error_code: VarInt

    Application-specific reason code

    §reason: Bytes

    Human-readable reason for the close

    -

    Trait Implementations§

    Source§

    impl Clone for ApplicationClose

    Source§

    fn clone(&self) -> ApplicationClose

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ApplicationClose

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Display for ApplicationClose

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl PartialEq for ApplicationClose

    Source§

    fn eq(&self, other: &ApplicationClose) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for ApplicationClose

    Source§

    impl StructuralPartialEq for ApplicationClose

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ApplicationClose

    §

    fn clone(&self) -> ApplicationClose

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ApplicationClose

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for ApplicationClose

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl PartialEq for ApplicationClose

    §

    fn eq(&self, other: &ApplicationClose) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for ApplicationClose

    §

    impl StructuralPartialEq for ApplicationClose

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.BloomTokenLog.html b/pr/547/docs/noq/struct.BloomTokenLog.html index b71a39ab7..fe04f6a68 100644 --- a/pr/547/docs/noq/struct.BloomTokenLog.html +++ b/pr/547/docs/noq/struct.BloomTokenLog.html @@ -1,4 +1,4 @@ -BloomTokenLog in noq - Rust

    BloomTokenLog

    Struct BloomTokenLog 

    Source
    pub struct BloomTokenLog(/* private fields */);
    Expand description

    Bloom filter-based TokenLog

    +BloomTokenLog in noq - Rust

    BloomTokenLog

    Struct BloomTokenLog 

    pub struct BloomTokenLog(/* private fields */);
    Expand description

    Bloom filter-based TokenLog

    Parameterizable over an approximate maximum number of bytes to allocate. Starts out by storing used tokens in a hash set. Once the hash set becomes too large, converts it to a bloom filter. This achieves a memory profile of linear growth with an upper bound.

    @@ -6,17 +6,17 @@ This achieves a memory profile of linear growth with an upper bound.

    each of the two periods currently non-expired tokens could expire in. As such, turns over filters as time goes on to avoid bloom filter false positive rate increasing infinitely over time.

    -

    Implementations§

    Source§

    impl BloomTokenLog

    Source

    pub fn new_expected_items(max_bytes: usize, expected_hits: u64) -> BloomTokenLog

    Construct with an approximate maximum memory usage and expected number of validation token +

    Implementations§

    §

    impl BloomTokenLog

    pub fn new_expected_items(max_bytes: usize, expected_hits: u64) -> BloomTokenLog

    Construct with an approximate maximum memory usage and expected number of validation token usages per expiration period

    Calculates the optimal bloom filter k number automatically.

    -
    Source

    pub fn new(max_bytes: usize, k_num: u32) -> BloomTokenLog

    Construct with an approximate maximum memory usage and a bloom filter k number

    +

    pub fn new(max_bytes: usize, k_num: u32) -> BloomTokenLog

    Construct with an approximate maximum memory usage and a bloom filter k number

    If choosing a custom k number, note that BloomTokenLog always maintains two filters between them and divides the allocation budget of max_bytes evenly between them. As such, each bloom filter will contain max_bytes * 4 bits.

    -

    Trait Implementations§

    Source§

    impl Default for BloomTokenLog

    Default to 20 MiB max memory consumption and expected one million hits

    +

    Trait Implementations§

    §

    impl Default for BloomTokenLog

    Default to 20 MiB max memory consumption and expected one million hits

    With the default validation token lifetime of 2 weeks, this corresponds to one token usage per 1.21 seconds.

    -
    Source§

    fn default() -> BloomTokenLog

    Returns the “default value” for a type. Read more
    Source§

    impl TokenLog for BloomTokenLog

    §

    fn default() -> BloomTokenLog

    Returns the “default value” for a type. Read more
    §

    impl TokenLog for BloomTokenLog

    §

    fn check_and_insert( &self, nonce: u128, issued: SystemTime, diff --git a/pr/547/docs/noq/struct.Chunk.html b/pr/547/docs/noq/struct.Chunk.html index 84aae8417..7fa5d18ec 100644 --- a/pr/547/docs/noq/struct.Chunk.html +++ b/pr/547/docs/noq/struct.Chunk.html @@ -1,11 +1,11 @@ -Chunk in noq - Rust

    Chunk

    Struct Chunk 

    Source
    pub struct Chunk {
    +Chunk in noq - Rust

    Chunk

    Struct Chunk 

    pub struct Chunk {
         pub offset: u64,
         pub bytes: Bytes,
     }
    Expand description

    A chunk of data from the receive stream

    Fields§

    §offset: u64

    The offset in the stream

    §bytes: Bytes

    The contents of the chunk

    -

    Trait Implementations§

    Source§

    impl Debug for Chunk

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl PartialEq for Chunk

    Source§

    fn eq(&self, other: &Chunk) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for Chunk

    Source§

    impl StructuralPartialEq for Chunk

    Auto Trait Implementations§

    §

    impl !Freeze for Chunk

    §

    impl RefUnwindSafe for Chunk

    §

    impl Send for Chunk

    §

    impl Sync for Chunk

    §

    impl Unpin for Chunk

    §

    impl UnwindSafe for Chunk

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Debug for Chunk

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl PartialEq for Chunk

    §

    fn eq(&self, other: &Chunk) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for Chunk

    §

    impl StructuralPartialEq for Chunk

    Auto Trait Implementations§

    §

    impl !Freeze for Chunk

    §

    impl RefUnwindSafe for Chunk

    §

    impl Send for Chunk

    §

    impl Sync for Chunk

    §

    impl Unpin for Chunk

    §

    impl UnwindSafe for Chunk

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/pr/547/docs/noq/struct.ClientConfig.html b/pr/547/docs/noq/struct.ClientConfig.html index 7692a2bb1..6f3881dee 100644 --- a/pr/547/docs/noq/struct.ClientConfig.html +++ b/pr/547/docs/noq/struct.ClientConfig.html @@ -1,7 +1,7 @@ -ClientConfig in noq - Rust

    ClientConfig

    Struct ClientConfig 

    Source
    #[non_exhaustive]
    pub struct ClientConfig { /* private fields */ }
    Expand description

    Configuration for outgoing connections

    +ClientConfig in noq - Rust

    ClientConfig

    Struct ClientConfig 

    #[non_exhaustive]
    pub struct ClientConfig { /* private fields */ }
    Expand description

    Configuration for outgoing connections

    Default values should be suitable for most internet applications.

    -

    Implementations§

    Source§

    impl ClientConfig

    Source

    pub fn new(crypto: Arc<dyn ClientConfig>) -> ClientConfig

    Create a default config with a particular cryptographic config

    -
    Source

    pub fn initial_dst_cid_provider( +

    Implementations§

    §

    impl ClientConfig

    pub fn new(crypto: Arc<dyn ClientConfig>) -> ClientConfig

    Create a default config with a particular cryptographic config

    +

    pub fn initial_dst_cid_provider( &mut self, initial_dst_cid_provider: Arc<dyn Fn() -> ConnectionId + Send + Sync>, ) -> &mut ClientConfig

    Configure how to populate the destination CID of the initial packet when attempting to @@ -10,18 +10,18 @@ establish a new connection

    a good reason, you do not need to change it.

    When prefer to override the default, please note that the generated connection ID MUST be at least 8 bytes long and unpredictable, as per section 7.2 of RFC 9000.

    -
    Source

    pub fn transport_config( +

    pub fn transport_config( &mut self, transport: Arc<TransportConfig>, ) -> &mut ClientConfig

    Set a custom TransportConfig

    -
    Source

    pub fn token_store(&mut self, store: Arc<dyn TokenStore>) -> &mut ClientConfig

    Set a custom TokenStore

    +

    pub fn token_store(&mut self, store: Arc<dyn TokenStore>) -> &mut ClientConfig

    Set a custom TokenStore

    Defaults to TokenMemoryCache, which is suitable for most internet applications.

    -
    Source

    pub fn version(&mut self, version: u32) -> &mut ClientConfig

    Set the QUIC version to use

    -
    Source§

    impl ClientConfig

    Source

    pub fn try_with_platform_verifier() -> Result<ClientConfig, Error>

    Create a client configuration that trusts the platform’s native roots

    -
    Source

    pub fn with_root_certificates( +

    pub fn version(&mut self, version: u32) -> &mut ClientConfig

    Set the QUIC version to use

    +

    §

    impl ClientConfig

    pub fn try_with_platform_verifier() -> Result<ClientConfig, Error>

    Create a client configuration that trusts the platform’s native roots

    +

    pub fn with_root_certificates( roots: Arc<RootCertStore>, ) -> Result<ClientConfig, VerifierBuilderError>

    Create a client configuration that trusts specified trust anchors

    -

    Trait Implementations§

    Source§

    impl Clone for ClientConfig

    Source§

    fn clone(&self) -> ClientConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ClientConfig

    Source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ClientConfig

    §

    fn clone(&self) -> ClientConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ClientConfig

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.ClosedStream.html b/pr/547/docs/noq/struct.ClosedStream.html index 8eb864ca2..ce125296f 100644 --- a/pr/547/docs/noq/struct.ClosedStream.html +++ b/pr/547/docs/noq/struct.ClosedStream.html @@ -1,6 +1,6 @@ -ClosedStream in noq - Rust

    ClosedStream

    Struct ClosedStream 

    Source
    pub struct ClosedStream { /* private fields */ }
    Expand description

    Error indicating that a stream has not been opened or has already been finished or reset

    -

    Trait Implementations§

    Source§

    impl Clone for ClosedStream

    Source§

    fn clone(&self) -> ClosedStream

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ClosedStream

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for ClosedStream

    Source§

    fn default() -> ClosedStream

    Returns the “default value” for a type. Read more
    Source§

    impl Display for ClosedStream

    Source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Error for ClosedStream

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    Source§

    impl From<ClosedStream> for WriteError

    Source§

    fn from(_: ClosedStream) -> Self

    Converts to this type from the input type.
    Source§

    impl PartialEq for ClosedStream

    Source§

    fn eq(&self, other: &ClosedStream) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for ClosedStream

    Source§

    impl StructuralPartialEq for ClosedStream

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +ClosedStream in noq - Rust

    ClosedStream

    Struct ClosedStream 

    pub struct ClosedStream { /* private fields */ }
    Expand description

    Error indicating that a stream has not been opened or has already been finished or reset

    +

    Trait Implementations§

    §

    impl Clone for ClosedStream

    §

    fn clone(&self) -> ClosedStream

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ClosedStream

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for ClosedStream

    §

    fn default() -> ClosedStream

    Returns the “default value” for a type. Read more
    §

    impl Display for ClosedStream

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for ClosedStream

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    Source§

    impl From<ClosedStream> for WriteError

    Source§

    fn from(_: ClosedStream) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for ClosedStream

    §

    fn eq(&self, other: &ClosedStream) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for ClosedStream

    §

    impl StructuralPartialEq for ClosedStream

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.Connection.html b/pr/547/docs/noq/struct.Connection.html index 6c93a1c6d..aea8da129 100644 --- a/pr/547/docs/noq/struct.Connection.html +++ b/pr/547/docs/noq/struct.Connection.html @@ -27,26 +27,26 @@ waiting on the <

    Source

    pub fn open_path_ensure( &self, addr: SocketAddr, - initial_status: PathStatus, + initial_status: PathStatus, ) -> OpenPath ⓘ

    Opens a new path if no path exists yet for the remote address.

    Otherwise behaves exactly as open_path.

    Source

    pub fn open_path( &self, addr: SocketAddr, - initial_status: PathStatus, + initial_status: PathStatus, ) -> OpenPath ⓘ

    Opens an additional path if the multipath extension is negotiated.

    The returned future completes once the path is either fully opened and ready to carry application data, or if there was an error.

    Dropping the returned future does not cancel the opening of the path, the -PathEvent::Opened event will still be emitted from Self::path_events if the +[PathEvent::Opened] event will still be emitted from Self::path_events if the path opens. The PathId for the events can be extracted from OpenPath::path_id.

    Failure to open a path can either occur immediately, before polling the returned future, or at a later time. If the failure is immediate OpenPath::path_id will return None and the future will be ready immediately. If the failure happens -later, a PathEvent will be emitted.

    +later, a [PathEvent] will be emitted.

    Source

    pub fn path(&self, id: PathId) -> Option<Path>

    Returns the Path structure of an open path

    -
    Source

    pub fn path_events(&self) -> PathEvents

    A stream of PathEvents for all paths in this connection.

    +
    Source

    pub fn path_events(&self) -> PathEvents

    A stream of [PathEvent]s for all paths in this connection.

    Source

    pub fn nat_traversal_updates(&self) -> NatTraversalUpdates

    A stream of NAT traversal updates for this connection.

    Source

    pub async fn closed(&self) -> ConnectionError

    Wait for the connection to be closed for any reason

    Despite the return type’s name, closed connections are often not an error condition at the @@ -163,7 +163,7 @@ strong and pseudorandom, and are suitable for use as keying material.

    Source

    pub fn add_nat_traversal_address( &self, address: SocketAddr, -) -> Result<(), Error>

    Registers one address at which this endpoint might be reachable

    +) -> Result<(), Error>

    Registers one address at which this endpoint might be reachable

    When the NAT traversal extension is negotiated, servers send these addresses to clients in ADD_ADDRESS frames. This allows clients to obtain server address candidates to initiate NAT traversal attempts. Clients provide their own reachable addresses in REACH_OUT frames @@ -171,7 +171,7 @@ when

    Source

    pub fn remove_nat_traversal_address( &self, address: SocketAddr, -) -> Result<(), Error>

    Removes one or more addresses from the set of addresses at which this endpoint is reachable

    +) -> Result<(), Error>

    Removes one or more addresses from the set of addresses at which this endpoint is reachable

    When the NAT traversal extension is negotiated, servers send address removals to clients in REMOVE_ADDRESS frames. This allows clients to stop using outdated server address candidates that are no longer valid for NAT traversal.

    @@ -179,11 +179,11 @@ server address candidates that are no longer valid for NAT traversal.

    Addresses not present in the set will be silently ignored.

    Source

    pub fn get_local_nat_traversal_addresses( &self, -) -> Result<Vec<SocketAddr>, Error>

    Get the current local nat traversal addresses

    +) -> Result<Vec<SocketAddr>, Error>

    Get the current local nat traversal addresses

    Source

    pub fn get_remote_nat_traversal_addresses( &self, -) -> Result<Vec<SocketAddr>, Error>

    Get the currently advertised nat traversal addresses by the server

    -
    Source

    pub fn initiate_nat_traversal_round(&self) -> Result<Vec<SocketAddr>, Error>

    Initiates a new nat traversal round

    +) -> Result<Vec<SocketAddr>, Error>

    Get the currently advertised nat traversal addresses by the server

    +
    Source

    pub fn initiate_nat_traversal_round(&self) -> Result<Vec<SocketAddr>, Error>

    Initiates a new nat traversal round

    A nat traversal round involves advertising the client’s local addresses in REACH_OUT frames, and initiating probing of the known remote addresses. When a new round is initiated, the previous one is cancelled, and paths that have not been opened are closed.

    @@ -212,4 +212,4 @@ otherwise. TryFrom<T>,

    Source§

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    Source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    \ No newline at end of file +[WithDispatch] wrapper. Read more \ No newline at end of file diff --git a/pr/547/docs/noq/struct.ConnectionClose.html b/pr/547/docs/noq/struct.ConnectionClose.html index d66b8be4b..a1f3a469e 100644 --- a/pr/547/docs/noq/struct.ConnectionClose.html +++ b/pr/547/docs/noq/struct.ConnectionClose.html @@ -1,13 +1,13 @@ -ConnectionClose in noq - Rust

    ConnectionClose

    Struct ConnectionClose 

    Source
    pub struct ConnectionClose {
    +ConnectionClose in noq - Rust

    ConnectionClose

    Struct ConnectionClose 

    pub struct ConnectionClose {
         pub error_code: Code,
    -    pub frame_type: MaybeFrame,
    +    pub frame_type: MaybeFrame,
         pub reason: Bytes,
     }
    Expand description

    Reason given by the transport for closing the connection

    Fields§

    §error_code: Code

    Class of error as encoded in the specification

    -
    §frame_type: MaybeFrame

    Type of frame that caused the close

    +
    §frame_type: MaybeFrame

    Type of frame that caused the close

    §reason: Bytes

    Human-readable reason for the close

    -

    Trait Implementations§

    Source§

    impl Clone for ConnectionClose

    Source§

    fn clone(&self) -> ConnectionClose

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ConnectionClose

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Display for ConnectionClose

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl From<Error> for ConnectionClose

    Source§

    fn from(x: Error) -> ConnectionClose

    Converts to this type from the input type.
    Source§

    impl PartialEq for ConnectionClose

    Source§

    fn eq(&self, other: &ConnectionClose) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Eq for ConnectionClose

    Source§

    impl StructuralPartialEq for ConnectionClose

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ConnectionClose

    §

    fn clone(&self) -> ConnectionClose

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ConnectionClose

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for ConnectionClose

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl From<Error> for ConnectionClose

    §

    fn from(x: Error) -> ConnectionClose

    Converts to this type from the input type.
    §

    impl PartialEq for ConnectionClose

    §

    fn eq(&self, other: &ConnectionClose) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Eq for ConnectionClose

    §

    impl StructuralPartialEq for ConnectionClose

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.ConnectionId.html b/pr/547/docs/noq/struct.ConnectionId.html index 2c1548a9b..dab688b98 100644 --- a/pr/547/docs/noq/struct.ConnectionId.html +++ b/pr/547/docs/noq/struct.ConnectionId.html @@ -1,7 +1,7 @@ -ConnectionId in noq - Rust

    ConnectionId

    Struct ConnectionId 

    Source
    pub struct ConnectionId { /* private fields */ }
    Expand description

    Protocol-level identifier for a connection.

    +ConnectionId in noq - Rust

    ConnectionId

    Struct ConnectionId 

    pub struct ConnectionId { /* private fields */ }
    Expand description

    Protocol-level identifier for a connection.

    Mainly useful for identifying this connection’s packets on the wire with tools like Wireshark.

    -

    Implementations§

    Source§

    impl ConnectionId

    Source

    pub fn new(bytes: &[u8]) -> ConnectionId

    Construct cid from byte array

    -
    Source

    pub fn from_buf(buf: &mut (impl Buf + ?Sized), len: usize) -> ConnectionId

    Constructs cid by reading len bytes from a Buf

    +

    Implementations§

    §

    impl ConnectionId

    pub fn new(bytes: &[u8]) -> ConnectionId

    Construct cid from byte array

    +

    pub fn from_buf(buf: &mut (impl Buf + ?Sized), len: usize) -> ConnectionId

    Constructs cid by reading len bytes from a Buf

    Callers need to assure that buf.remaining() >= len

    Methods from Deref<Target = [u8]>§

    1.23.0 · Source

    pub fn is_ascii(&self) -> bool

    Checks if all bytes in this slice are within the ASCII range.

    Source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this slice is_ascii, returns it as a slice of @@ -2422,17 +2422,17 @@ is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To lowercase the value in-place, use make_ascii_lowercase.

    -

    Trait Implementations§

    Source§

    impl Clone for ConnectionId

    Source§

    fn clone(&self) -> ConnectionId

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ConnectionId

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Deref for ConnectionId

    Source§

    type Target = [u8]

    The resulting type after dereferencing.
    Source§

    fn deref(&self) -> &[u8] ⓘ

    Dereferences the value.
    Source§

    impl DerefMut for ConnectionId

    Source§

    fn deref_mut(&mut self) -> &mut [u8] ⓘ

    Mutably dereferences the value.
    Source§

    impl Display for ConnectionId

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Hash for ConnectionId

    Source§

    fn hash<__H>(&self, state: &mut __H)
    where +

    Trait Implementations§

    §

    impl Clone for ConnectionId

    §

    fn clone(&self) -> ConnectionId

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ConnectionId

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Deref for ConnectionId

    §

    type Target = [u8]

    The resulting type after dereferencing.
    §

    fn deref(&self) -> &[u8] ⓘ

    Dereferences the value.
    §

    impl DerefMut for ConnectionId

    §

    fn deref_mut(&mut self) -> &mut [u8] ⓘ

    Mutably dereferences the value.
    §

    impl Display for ConnectionId

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Hash for ConnectionId

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · Source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    Source§

    impl Ord for ConnectionId

    Source§

    fn cmp(&self, other: &ConnectionId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Ord for ConnectionId

    §

    fn cmp(&self, other: &ConnectionId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · Source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · Source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    Source§

    impl PartialEq for ConnectionId

    Source§

    fn eq(&self, other: &ConnectionId) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl PartialOrd for ConnectionId

    Source§

    fn partial_cmp(&self, other: &ConnectionId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more
    §

    impl PartialEq for ConnectionId

    §

    fn eq(&self, other: &ConnectionId) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl PartialOrd for ConnectionId

    §

    fn partial_cmp(&self, other: &ConnectionId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    Source§

    impl Copy for ConnectionId

    Source§

    impl Eq for ConnectionId

    Source§

    impl StructuralPartialEq for ConnectionId

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +the >= operator. Read more

    §

    impl Copy for ConnectionId

    §

    impl Eq for ConnectionId

    §

    impl StructuralPartialEq for ConnectionId

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.ConnectionStats.html b/pr/547/docs/noq/struct.ConnectionStats.html index cd16a9d7b..e12ede0aa 100644 --- a/pr/547/docs/noq/struct.ConnectionStats.html +++ b/pr/547/docs/noq/struct.ConnectionStats.html @@ -1,4 +1,4 @@ -ConnectionStats in noq - Rust

    ConnectionStats

    Struct ConnectionStats 

    Source
    #[non_exhaustive]
    pub struct ConnectionStats { +ConnectionStats in noq - Rust

    ConnectionStats

    Struct ConnectionStats 

    #[non_exhaustive]
    pub struct ConnectionStats { pub udp_tx: UdpStats, pub udp_rx: UdpStats, pub frame_tx: FrameStats, @@ -10,7 +10,7 @@ paths that exist as well as all paths that previously existed.

    §udp_rx: UdpStats

    Statistics about UDP datagrams received on a connection.

    §frame_tx: FrameStats

    Statistics about frames transmitted on a connection.

    §frame_rx: FrameStats

    Statistics about frames received on a connection.

    -

    Trait Implementations§

    Source§

    impl Add<PathStats> for ConnectionStats

    Source§

    type Output = ConnectionStats

    The resulting type after applying the + operator.
    Source§

    fn add(self, rhs: PathStats) -> <ConnectionStats as Add<PathStats>>::Output

    Performs the + operation. Read more
    Source§

    impl AddAssign<PathStats> for ConnectionStats

    Source§

    fn add_assign(&mut self, rhs: PathStats)

    Performs the += operation. Read more
    Source§

    impl Clone for ConnectionStats

    Source§

    fn clone(&self) -> ConnectionStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ConnectionStats

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for ConnectionStats

    Source§

    fn default() -> ConnectionStats

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Add<PathStats> for ConnectionStats

    §

    type Output = ConnectionStats

    The resulting type after applying the + operator.
    §

    fn add(self, rhs: PathStats) -> <ConnectionStats as Add<PathStats>>::Output

    Performs the + operation. Read more
    §

    impl AddAssign<PathStats> for ConnectionStats

    §

    fn add_assign(&mut self, rhs: PathStats)

    Performs the += operation. Read more
    §

    impl Clone for ConnectionStats

    §

    fn clone(&self) -> ConnectionStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ConnectionStats

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for ConnectionStats

    §

    fn default() -> ConnectionStats

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.EndpointConfig.html b/pr/547/docs/noq/struct.EndpointConfig.html index 119aa6e09..8e381df1c 100644 --- a/pr/547/docs/noq/struct.EndpointConfig.html +++ b/pr/547/docs/noq/struct.EndpointConfig.html @@ -1,16 +1,16 @@ -EndpointConfig in noq - Rust

    EndpointConfig

    Struct EndpointConfig 

    Source
    pub struct EndpointConfig { /* private fields */ }
    Expand description

    Global configuration for the endpoint, affecting all connections

    +EndpointConfig in noq - Rust

    EndpointConfig

    Struct EndpointConfig 

    pub struct EndpointConfig { /* private fields */ }
    Expand description

    Global configuration for the endpoint, affecting all connections

    Default values should be suitable for most internet applications.

    -

    Implementations§

    Source§

    impl EndpointConfig

    Source

    pub fn new(reset_key: Arc<dyn HmacKey>) -> EndpointConfig

    Create a default config with a particular reset_key

    -
    Source

    pub fn cid_generator<F>(&mut self, factory: F) -> &mut EndpointConfig
    where +

    Implementations§

    §

    impl EndpointConfig

    pub fn new(reset_key: Arc<dyn HmacKey>) -> EndpointConfig

    Create a default config with a particular reset_key

    +

    pub fn cid_generator<F>(&mut self, factory: F) -> &mut EndpointConfig
    where F: Fn() -> Box<dyn ConnectionIdGenerator> + Send + Sync + 'static,

    Supply a custom connection ID generator factory

    Called once by each Endpoint constructed from this configuration to obtain the CID generator which will be used to generate the CIDs used for incoming packets on all connections involving that Endpoint. A custom CID generator allows applications to embed information in local connection IDs, e.g. to support stateless packet-level load balancers.

    -

    Defaults to HashedConnectionIdGenerator.

    -
    Source

    pub fn reset_key(&mut self, key: Arc<dyn HmacKey>) -> &mut EndpointConfig

    Private key used to send authenticated connection resets to peers who were +

    Defaults to [HashedConnectionIdGenerator].

    +

    pub fn reset_key(&mut self, key: Arc<dyn HmacKey>) -> &mut EndpointConfig

    Private key used to send authenticated connection resets to peers who were communicating with a previous instance of this endpoint.

    -
    Source

    pub fn max_udp_payload_size( +

    pub fn max_udp_payload_size( &mut self, value: u16, ) -> Result<&mut EndpointConfig, ConfigError>

    Maximum UDP payload size accepted from peers (excluding UDP and IP overhead).

    @@ -19,27 +19,27 @@ communicating with a previous instance of this endpoint.

    1500 byte Ethernet MTU. Deployments on links with larger MTUs (e.g. loopback or Ethernet with jumbo frames) can raise this to improve performance at the cost of a linear increase in datagram receive buffer size.

    -
    Source

    pub fn get_max_udp_payload_size(&self) -> u64

    Get the current value of max_udp_payload_size

    -
    Source

    pub fn supported_versions( +

    pub fn get_max_udp_payload_size(&self) -> u64

    Get the current value of max_udp_payload_size

    +

    pub fn supported_versions( &mut self, supported_versions: Vec<u32>, ) -> &mut EndpointConfig

    Override supported QUIC versions

    -
    Source

    pub fn grease_quic_bit(&mut self, value: bool) -> &mut EndpointConfig

    Whether to accept QUIC packets containing any value for the fixed bit

    +

    pub fn grease_quic_bit(&mut self, value: bool) -> &mut EndpointConfig

    Whether to accept QUIC packets containing any value for the fixed bit

    Enabled by default. Helps protect against protocol ossification and makes traffic less identifiable to observers. Disable if helping observers identify this traffic as QUIC is desired.

    -
    Source

    pub fn min_reset_interval(&mut self, value: Duration) -> &mut EndpointConfig

    Minimum interval between outgoing stateless reset packets

    +

    pub fn min_reset_interval(&mut self, value: Duration) -> &mut EndpointConfig

    Minimum interval between outgoing stateless reset packets

    Defaults to 20ms. Limits the impact of attacks which flood an endpoint with garbage packets, e.g. ISAKMP/IKE amplification. Larger values provide a stronger defense, but may delay detection of some error conditions by clients. Using a ConnectionIdGenerator with a low rate of false positives in validate reduces the risk incurred by a small minimum reset interval.

    -
    Source

    pub fn rng_seed(&mut self, seed: Option<[u8; 32]>) -> &mut EndpointConfig

    Optional seed to be used internally for random number generation

    +

    pub fn rng_seed(&mut self, seed: Option<[u8; 32]>) -> &mut EndpointConfig

    Optional seed to be used internally for random number generation

    By default, noq will initialize an endpoint’s rng using a platform entropy source. However, you can seed the rng yourself through this method (e.g. if you need to run noq deterministically or if you are using noq in an environment that doesn’t have a source of entropy available).

    -

    Trait Implementations§

    Source§

    impl Clone for EndpointConfig

    Source§

    fn clone(&self) -> EndpointConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for EndpointConfig

    Source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for EndpointConfig

    Source§

    fn default() -> EndpointConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for EndpointConfig

    §

    fn clone(&self) -> EndpointConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for EndpointConfig

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for EndpointConfig

    §

    fn default() -> EndpointConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.FrameStats.html b/pr/547/docs/noq/struct.FrameStats.html index 88a37d94e..34132d3a4 100644 --- a/pr/547/docs/noq/struct.FrameStats.html +++ b/pr/547/docs/noq/struct.FrameStats.html @@ -1,4 +1,4 @@ -FrameStats in noq - Rust

    FrameStats

    Struct FrameStats 

    Source
    #[non_exhaustive]
    pub struct FrameStats {
    Show 37 fields +FrameStats in noq - Rust

    FrameStats

    Struct FrameStats 

    #[non_exhaustive]
    pub struct FrameStats {
    Show 37 fields pub acks: u64, pub path_acks: u64, pub ack_frequency: u64, @@ -37,8 +37,8 @@ pub reach_out: u64, pub remove_address: u64,
    }
    Expand description

    Number of frames transmitted or received of each frame type.

    -

    Fields (Non-exhaustive)§

    This struct is marked as non-exhaustive
    Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
    §acks: u64§path_acks: u64§ack_frequency: u64§crypto: u64§connection_close: u64§data_blocked: u64§datagram: u64§handshake_done: u8§immediate_ack: u64§max_data: u64§max_stream_data: u64§max_streams_bidi: u64§max_streams_uni: u64§new_connection_id: u64§path_new_connection_id: u64§new_token: u64§path_challenge: u64§path_response: u64§ping: u64§reset_stream: u64§retire_connection_id: u64§path_retire_connection_id: u64§stream_data_blocked: u64§streams_blocked_bidi: u64§streams_blocked_uni: u64§stop_sending: u64§stream: u64§observed_addr: u64§path_abandon: u64§path_status_available: u64§path_status_backup: u64§max_path_id: u64§paths_blocked: u64§path_cids_blocked: u64§add_address: u64§reach_out: u64§remove_address: u64

    Trait Implementations§

    Source§

    impl Add for FrameStats

    Source§

    type Output = FrameStats

    The resulting type after applying the + operator.
    Source§

    fn add(self, __rhs: FrameStats) -> <FrameStats as Add>::Output

    Performs the + operation. Read more
    Source§

    impl AddAssign for FrameStats

    Source§

    fn add_assign(&mut self, __rhs: FrameStats)

    Performs the += operation. Read more
    Source§

    impl Clone for FrameStats

    Source§

    fn clone(&self) -> FrameStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for FrameStats

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for FrameStats

    Source§

    fn default() -> FrameStats

    Returns the “default value” for a type. Read more
    Source§

    impl PartialEq for FrameStats

    Source§

    fn eq(&self, other: &FrameStats) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Copy for FrameStats

    Source§

    impl Eq for FrameStats

    Source§

    impl StructuralPartialEq for FrameStats

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Fields (Non-exhaustive)§

    This struct is marked as non-exhaustive
    Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
    §acks: u64§path_acks: u64§ack_frequency: u64§crypto: u64§connection_close: u64§data_blocked: u64§datagram: u64§handshake_done: u8§immediate_ack: u64§max_data: u64§max_stream_data: u64§max_streams_bidi: u64§max_streams_uni: u64§new_connection_id: u64§path_new_connection_id: u64§new_token: u64§path_challenge: u64§path_response: u64§ping: u64§reset_stream: u64§retire_connection_id: u64§path_retire_connection_id: u64§stream_data_blocked: u64§streams_blocked_bidi: u64§streams_blocked_uni: u64§stop_sending: u64§stream: u64§observed_addr: u64§path_abandon: u64§path_status_available: u64§path_status_backup: u64§max_path_id: u64§paths_blocked: u64§path_cids_blocked: u64§add_address: u64§reach_out: u64§remove_address: u64

    Trait Implementations§

    §

    impl Add for FrameStats

    §

    type Output = FrameStats

    The resulting type after applying the + operator.
    §

    fn add(self, __rhs: FrameStats) -> <FrameStats as Add>::Output

    Performs the + operation. Read more
    §

    impl AddAssign for FrameStats

    §

    fn add_assign(&mut self, __rhs: FrameStats)

    Performs the += operation. Read more
    §

    impl Clone for FrameStats

    §

    fn clone(&self) -> FrameStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for FrameStats

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for FrameStats

    §

    fn default() -> FrameStats

    Returns the “default value” for a type. Read more
    §

    impl PartialEq for FrameStats

    §

    fn eq(&self, other: &FrameStats) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Copy for FrameStats

    §

    impl Eq for FrameStats

    §

    impl StructuralPartialEq for FrameStats

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.IdleTimeout.html b/pr/547/docs/noq/struct.IdleTimeout.html index 879ea2d79..02edaf5b2 100644 --- a/pr/547/docs/noq/struct.IdleTimeout.html +++ b/pr/547/docs/noq/struct.IdleTimeout.html @@ -1,4 +1,4 @@ -IdleTimeout in noq - Rust

    IdleTimeout

    Struct IdleTimeout 

    Source
    pub struct IdleTimeout(/* private fields */);
    Expand description

    Maximum duration of inactivity to accept before timing out the connection

    +IdleTimeout in noq - Rust

    IdleTimeout

    Struct IdleTimeout 

    pub struct IdleTimeout(/* private fields */);
    Expand description

    Maximum duration of inactivity to accept before timing out the connection

    This wraps an underlying VarInt, representing the duration in milliseconds. Values can be constructed by converting directly from VarInt, or using TryFrom<Duration>.

    @@ -6,19 +6,19 @@ constructed by converting directly from VarInt, or using TryF let timeout = IdleTimeout::from(VarInt::from_u32(10_000)); // Try to convert a `Duration` into a `VarInt`-encoded timeout -let timeout = IdleTimeout::try_from(Duration::from_secs(10))?;

    Trait Implementations§

    Source§

    impl Clone for IdleTimeout

    Source§

    fn clone(&self) -> IdleTimeout

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for IdleTimeout

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for IdleTimeout

    Source§

    fn default() -> IdleTimeout

    Returns the “default value” for a type. Read more
    Source§

    impl From<VarInt> for IdleTimeout

    Source§

    fn from(inner: VarInt) -> IdleTimeout

    Converts to this type from the input type.
    Source§

    impl Hash for IdleTimeout

    Source§

    fn hash<__H>(&self, state: &mut __H)
    where +let timeout = IdleTimeout::try_from(Duration::from_secs(10))?;

    Trait Implementations§

    §

    impl Clone for IdleTimeout

    §

    fn clone(&self) -> IdleTimeout

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for IdleTimeout

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for IdleTimeout

    §

    fn default() -> IdleTimeout

    Returns the “default value” for a type. Read more
    §

    impl From<VarInt> for IdleTimeout

    §

    fn from(inner: VarInt) -> IdleTimeout

    Converts to this type from the input type.
    §

    impl Hash for IdleTimeout

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · Source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    Source§

    impl Ord for IdleTimeout

    Source§

    fn cmp(&self, other: &IdleTimeout) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Ord for IdleTimeout

    §

    fn cmp(&self, other: &IdleTimeout) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · Source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · Source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    Source§

    impl PartialEq for IdleTimeout

    Source§

    fn eq(&self, other: &IdleTimeout) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl PartialOrd for IdleTimeout

    Source§

    fn partial_cmp(&self, other: &IdleTimeout) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,
    Restrict a value to a certain interval. Read more
    §

    impl PartialEq for IdleTimeout

    §

    fn eq(&self, other: &IdleTimeout) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl PartialOrd for IdleTimeout

    §

    fn partial_cmp(&self, other: &IdleTimeout) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    Source§

    impl TryFrom<Duration> for IdleTimeout

    Source§

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    Source§

    fn try_from( +the >= operator. Read more

    §

    impl TryFrom<Duration> for IdleTimeout

    §

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    §

    fn try_from( timeout: Duration, -) -> Result<IdleTimeout, <IdleTimeout as TryFrom<Duration>>::Error>

    Performs the conversion.
    Source§

    impl Copy for IdleTimeout

    Source§

    impl Eq for IdleTimeout

    Source§

    impl StructuralPartialEq for IdleTimeout

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T

    Performs the conversion.
    §

    impl Copy for IdleTimeout

    §

    impl Eq for IdleTimeout

    §

    impl StructuralPartialEq for IdleTimeout

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.Incoming.html b/pr/547/docs/noq/struct.Incoming.html index 5886d3b86..1b2646722 100644 --- a/pr/547/docs/noq/struct.Incoming.html +++ b/pr/547/docs/noq/struct.Incoming.html @@ -20,7 +20,7 @@ The inverse is not guaranteed.

    If self.remote_address_validated() is false, self.may_retry() is guaranteed to be true. The inverse is not guaranteed.

    Source

    pub fn orig_dst_cid(&self) -> ConnectionId

    The original destination CID when initiating the connection

    -
    Source

    pub fn decrypt(&self) -> Option<DecryptedInitial>

    Decrypt the Initial packet payload

    +
    Source

    pub fn decrypt(&self) -> Option<DecryptedInitial>

    Decrypt the Initial packet payload

    This clones and decrypts the packet payload (~1200 bytes). Can be used to extract information from the TLS ClientHello without completing the handshake.

    Trait Implementations§

    Source§

    impl Debug for Incoming

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Drop for Incoming

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    Source§

    impl IntoFuture for Incoming

    Source§

    type Output = Result<Connection, ConnectionError>

    The output that the future will produce on completion.
    Source§

    type IntoFuture = IncomingFuture

    Which kind of future are we turning this into?
    Source§

    fn into_future(self) -> Self::IntoFuture

    Creates a future from a value. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where diff --git a/pr/547/docs/noq/struct.InvalidCid.html b/pr/547/docs/noq/struct.InvalidCid.html index 2cc9c3850..b24d97db4 100644 --- a/pr/547/docs/noq/struct.InvalidCid.html +++ b/pr/547/docs/noq/struct.InvalidCid.html @@ -1,5 +1,5 @@ -InvalidCid in noq - Rust

    InvalidCid

    Struct InvalidCid 

    Source
    pub struct InvalidCid;
    Expand description

    The connection ID was not recognized by the ConnectionIdGenerator

    -

    Trait Implementations§

    Source§

    impl Clone for InvalidCid

    Source§

    fn clone(&self) -> InvalidCid

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for InvalidCid

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Copy for InvalidCid

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +InvalidCid in noq - Rust

    InvalidCid

    Struct InvalidCid 

    pub struct InvalidCid;
    Expand description

    The connection ID was not recognized by the ConnectionIdGenerator

    +

    Trait Implementations§

    §

    impl Clone for InvalidCid

    §

    fn clone(&self) -> InvalidCid

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for InvalidCid

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Copy for InvalidCid

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.MtuDiscoveryConfig.html b/pr/547/docs/noq/struct.MtuDiscoveryConfig.html index 49e9d38cd..6f8a13ad0 100644 --- a/pr/547/docs/noq/struct.MtuDiscoveryConfig.html +++ b/pr/547/docs/noq/struct.MtuDiscoveryConfig.html @@ -1,4 +1,4 @@ -MtuDiscoveryConfig in noq - Rust

    MtuDiscoveryConfig

    Struct MtuDiscoveryConfig 

    Source
    pub struct MtuDiscoveryConfig { /* private fields */ }
    Expand description

    Parameters governing MTU discovery.

    +MtuDiscoveryConfig in noq - Rust

    MtuDiscoveryConfig

    Struct MtuDiscoveryConfig 

    pub struct MtuDiscoveryConfig { /* private fields */ }
    Expand description

    Parameters governing MTU discovery.

    §The why of MTU discovery

    By design, QUIC ensures during the handshake that the network path between the client and the server is able to transmit unfragmented UDP packets with a body of 1200 bytes. In other words, @@ -42,25 +42,25 @@ timer that was set based on Implementations§

    Source§

    impl MtuDiscoveryConfig

    Source

    pub fn interval(&mut self, value: Duration) -> &mut MtuDiscoveryConfig

    Specifies the time to wait after completing MTU discovery before starting a new MTU +

    Implementations§

    §

    impl MtuDiscoveryConfig

    pub fn interval(&mut self, value: Duration) -> &mut MtuDiscoveryConfig

    Specifies the time to wait after completing MTU discovery before starting a new MTU discovery run.

    Defaults to 600 seconds, as recommended by RFC 8899.

    -
    Source

    pub fn upper_bound(&mut self, value: u16) -> &mut MtuDiscoveryConfig

    Specifies the upper bound to the max UDP payload size that MTU discovery will search for.

    +

    pub fn upper_bound(&mut self, value: u16) -> &mut MtuDiscoveryConfig

    Specifies the upper bound to the max UDP payload size that MTU discovery will search for.

    Defaults to 1452, to stay within Ethernet’s MTU when using IPv4 and IPv6. The highest allowed value is 65527, which corresponds to the maximum permitted UDP payload on IPv6.

    It is safe to use an arbitrarily high upper bound, regardless of the network path’s MTU. The only drawback is that MTU discovery might take more time to finish.

    -
    Source

    pub fn black_hole_cooldown( +

    pub fn black_hole_cooldown( &mut self, value: Duration, ) -> &mut MtuDiscoveryConfig

    Specifies the amount of time that MTU discovery should wait after a black hole was detected before running again. Defaults to one minute.

    Black hole detection can be spuriously triggered in case of congestion, so it makes sense to try MTU discovery again after a short period of time.

    -
    Source

    pub fn minimum_change(&mut self, value: u16) -> &mut MtuDiscoveryConfig

    Specifies the minimum MTU change to stop the MTU discovery phase. +

    pub fn minimum_change(&mut self, value: u16) -> &mut MtuDiscoveryConfig

    Specifies the minimum MTU change to stop the MTU discovery phase. Defaults to 20.

    -

    Trait Implementations§

    Source§

    impl Clone for MtuDiscoveryConfig

    Source§

    fn clone(&self) -> MtuDiscoveryConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for MtuDiscoveryConfig

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for MtuDiscoveryConfig

    Source§

    fn default() -> MtuDiscoveryConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for MtuDiscoveryConfig

    §

    fn clone(&self) -> MtuDiscoveryConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for MtuDiscoveryConfig

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for MtuDiscoveryConfig

    §

    fn default() -> MtuDiscoveryConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.NatTraversalUpdates.html b/pr/547/docs/noq/struct.NatTraversalUpdates.html index 1ac95e180..32d183a63 100644 --- a/pr/547/docs/noq/struct.NatTraversalUpdates.html +++ b/pr/547/docs/noq/struct.NatTraversalUpdates.html @@ -1,5 +1,5 @@ NatTraversalUpdates in noq - Rust

    NatTraversalUpdates

    Struct NatTraversalUpdates 

    Source
    pub struct NatTraversalUpdates { /* private fields */ }
    Expand description

    A stream of NAT traversal updates for a connection.

    -

    Trait Implementations§

    Source§

    impl Debug for NatTraversalUpdates

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Stream for NatTraversalUpdates

    Source§

    type Item = Result<Event, Lagged>

    Values yielded by the stream.
    Source§

    fn poll_next( +

    Trait Implementations§

    Source§

    impl Debug for NatTraversalUpdates

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Stream for NatTraversalUpdates

    Source§

    type Item = Result<Event, Lagged>

    Values yielded by the stream.
    Source§

    fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Item>>

    Attempt to pull out the next value of this stream, registering the diff --git a/pr/547/docs/noq/struct.NoneTokenLog.html b/pr/547/docs/noq/struct.NoneTokenLog.html index 35a1aa5fe..eab0ddd81 100644 --- a/pr/547/docs/noq/struct.NoneTokenLog.html +++ b/pr/547/docs/noq/struct.NoneTokenLog.html @@ -1,5 +1,5 @@ -NoneTokenLog in noq - Rust

    NoneTokenLog

    Struct NoneTokenLog 

    Source
    pub struct NoneTokenLog;
    Expand description

    Null implementation of TokenLog, which never accepts tokens

    -

    Trait Implementations§

    Source§

    impl TokenLog for NoneTokenLog

    Source§

    fn check_and_insert( +NoneTokenLog in noq - Rust

    NoneTokenLog

    Struct NoneTokenLog 

    pub struct NoneTokenLog;
    Expand description

    Null implementation of TokenLog, which never accepts tokens

    +

    Trait Implementations§

    §

    impl TokenLog for NoneTokenLog

    §

    fn check_and_insert( &self, _: u128, _: SystemTime, diff --git a/pr/547/docs/noq/struct.NoneTokenStore.html b/pr/547/docs/noq/struct.NoneTokenStore.html index ce07dc3f6..f41989803 100644 --- a/pr/547/docs/noq/struct.NoneTokenStore.html +++ b/pr/547/docs/noq/struct.NoneTokenStore.html @@ -1,5 +1,5 @@ -NoneTokenStore in noq - Rust

    NoneTokenStore

    Struct NoneTokenStore 

    Source
    pub struct NoneTokenStore;
    Expand description

    Null implementation of TokenStore, which does not store any tokens

    -

    Trait Implementations§

    Source§

    impl TokenStore for NoneTokenStore

    Source§

    fn insert(&self, _: &str, _: Bytes)

    Potentially store a token for later one-time use Read more
    Source§

    fn take(&self, _: &str) -> Option<Bytes>

    Try to find and take a token that was stored with the given server name Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +NoneTokenStore in noq - Rust

    NoneTokenStore

    Struct NoneTokenStore 

    pub struct NoneTokenStore;
    Expand description

    Null implementation of TokenStore, which does not store any tokens

    +

    Trait Implementations§

    §

    impl TokenStore for NoneTokenStore

    §

    fn insert(&self, _: &str, _: Bytes)

    Potentially store a token for later one-time use Read more
    §

    fn take(&self, _: &str) -> Option<Bytes>

    Try to find and take a token that was stored with the given server name Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/pr/547/docs/noq/struct.OpenPath.html b/pr/547/docs/noq/struct.OpenPath.html index 847bb563d..4cad853e1 100644 --- a/pr/547/docs/noq/struct.OpenPath.html +++ b/pr/547/docs/noq/struct.OpenPath.html @@ -3,7 +3,7 @@

    If an error occurred before a path ID was allocated, None is returned. In this case the future is ready and polling it will immediately yield the error.

    The returned value remains the same for the entire lifetime of this future.

    -

    Trait Implementations§

    Source§

    impl Future for OpenPath

    Source§

    type Output = Result<Path, PathError>

    The type of value produced on completion.
    Source§

    fn poll(self: Pin<&mut Self>, ctx: &mut Context<'_>) -> Poll<Self::Output>

    Attempts to resolve the future to a final value, registering +

    Trait Implementations§

    Source§

    impl Future for OpenPath

    Source§

    type Output = Result<Path, PathError>

    The type of value produced on completion.
    Source§

    fn poll(self: Pin<&mut Self>, ctx: &mut Context<'_>) -> Poll<Self::Output>

    Attempts to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where diff --git a/pr/547/docs/noq/struct.Path.html b/pr/547/docs/noq/struct.Path.html index eb160423a..3374e5b50 100644 --- a/pr/547/docs/noq/struct.Path.html +++ b/pr/547/docs/noq/struct.Path.html @@ -6,29 +6,29 @@ path’s stats are not dropped until the underlying connection is dropped, even if the path is abandoned.

    Source

    pub fn id(&self) -> PathId

    The PathId of this path.

    -
    Source

    pub fn status(&self) -> Result<PathStatus, ClosedPath>

    The current local PathStatus of this path.

    -
    Source

    pub fn set_status(&self, status: PathStatus) -> Result<(), SetPathStatusError>

    Sets the PathStatus of this path.

    +
    Source

    pub fn status(&self) -> Result<PathStatus, ClosedPath>

    The current local [PathStatus] of this path.

    +
    Source

    pub fn set_status(&self, status: PathStatus) -> Result<(), SetPathStatusError>

    Sets the [PathStatus] of this path.

    Source

    pub fn stats(&self) -> PathStats

    Returns the PathStats for this path.

    -
    Source

    pub fn close(&self) -> Result<(), ClosePathError>

    Closes this path.

    +
    Source

    pub fn close(&self) -> Result<(), ClosePathError>

    Closes this path.

    The path is immediately considered closed by the local endpoint. Once the state is removed, -after a short period of time for any in-flight packets, a PathEvent::Abandoned is +after a short period of time for any in-flight packets, a [PathEvent::Abandoned] is returned.

    Source

    pub fn set_max_idle_timeout( &self, timeout: Option<Duration>, -) -> Result<Option<Duration>, ClosedPath>

    Sets the keep_alive_interval for a specific path

    +) -> Result<Option<Duration>, ClosedPath>

    Sets the keep_alive_interval for a specific path

    See TransportConfig::default_path_keep_alive_interval for details.

    Returns the previous value of the setting.

    Source

    pub fn set_keep_alive_interval( &self, interval: Option<Duration>, -) -> Result<Option<Duration>, ClosedPath>

    Sets the keep_alive_interval for a specific path

    +) -> Result<Option<Duration>, ClosedPath>

    Sets the keep_alive_interval for a specific path

    See TransportConfig::default_path_keep_alive_interval for details.

    Returns the previous value of the setting.

    -
    Source

    pub fn observed_external_addr(&self) -> Result<AddressDiscovery, ClosedPath>

    Track changes on our external address as reported by the peer.

    +
    Source

    pub fn observed_external_addr(&self) -> Result<AddressDiscovery, ClosedPath>

    Track changes on our external address as reported by the peer.

    If the address-discovery extension is not negotiated, the stream will never return.

    -
    Source

    pub fn remote_address(&self) -> Result<SocketAddr, ClosedPath>

    The peer’s UDP address for this path.

    -
    Source

    pub fn ping(&self) -> Result<(), ClosedPath>

    Ping the remote endpoint over this path.

    +
    Source

    pub fn remote_address(&self) -> Result<SocketAddr, ClosedPath>

    The peer’s UDP address for this path.

    +
    Source

    pub fn ping(&self) -> Result<(), ClosedPath>

    Ping the remote endpoint over this path.

    Trait Implementations§

    Source§

    impl Clone for Path

    Source§

    fn clone(&self) -> Self

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Path

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Drop for Path

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    Source§

    impl PartialEq for Path

    Source§

    fn eq(&self, other: &Self) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

    Auto Trait Implementations§

    §

    impl Freeze for Path

    §

    impl RefUnwindSafe for Path

    §

    impl Send for Path

    §

    impl Sync for Path

    §

    impl Unpin for Path

    §

    impl UnwindSafe for Path

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/pr/547/docs/noq/struct.PathEvents.html b/pr/547/docs/noq/struct.PathEvents.html index fad414957..a5196166c 100644 --- a/pr/547/docs/noq/struct.PathEvents.html +++ b/pr/547/docs/noq/struct.PathEvents.html @@ -1,5 +1,5 @@ -PathEvents in noq - Rust

    PathEvents

    Struct PathEvents 

    Source
    pub struct PathEvents { /* private fields */ }
    Expand description

    A stream of PathEvents for all paths in a connection.

    -

    Trait Implementations§

    Source§

    impl Debug for PathEvents

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Stream for PathEvents

    Source§

    type Item = Result<PathEvent, Lagged>

    Values yielded by the stream.
    Source§

    fn poll_next( +PathEvents in noq - Rust

    PathEvents

    Struct PathEvents 

    Source
    pub struct PathEvents { /* private fields */ }
    Expand description

    A stream of [PathEvent]s for all paths in a connection.

    +

    Trait Implementations§

    Source§

    impl Debug for PathEvents

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    Source§

    impl Stream for PathEvents

    Source§

    type Item = Result<PathEvent, Lagged>

    Values yielded by the stream.
    Source§

    fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Item>>

    Attempt to pull out the next value of this stream, registering the diff --git a/pr/547/docs/noq/struct.PathId.html b/pr/547/docs/noq/struct.PathId.html index 86a4cc45d..7acd4d750 100644 --- a/pr/547/docs/noq/struct.PathId.html +++ b/pr/547/docs/noq/struct.PathId.html @@ -1,24 +1,24 @@ -PathId in noq - Rust

    PathId

    Struct PathId 

    Source
    pub struct PathId(/* private fields */);
    Expand description

    Id representing different paths when using multipath extension

    -

    Implementations§

    Source§

    impl PathId

    Source

    pub const MAX: PathId

    The maximum path ID allowed.

    -
    Source

    pub const ZERO: PathId

    The 0 path id.

    -
    Source

    pub fn saturating_add(self, rhs: impl Into<PathId>) -> PathId

    Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead +PathId in noq - Rust

    PathId

    Struct PathId 

    pub struct PathId(/* private fields */);
    Expand description

    Id representing different paths when using multipath extension

    +

    Implementations§

    §

    impl PathId

    pub const MAX: PathId

    The maximum path ID allowed.

    +

    pub const ZERO: PathId

    The 0 path id.

    +

    pub fn saturating_add(self, rhs: impl Into<PathId>) -> PathId

    Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead of overflowing.

    -
    Source

    pub fn saturating_sub(self, rhs: impl Into<PathId>) -> PathId

    Saturating integer subtraction. Computes self - rhs, saturating at the numeric bounds +

    pub fn saturating_sub(self, rhs: impl Into<PathId>) -> PathId

    Saturating integer subtraction. Computes self - rhs, saturating at the numeric bounds instead of overflowing.

    -

    Trait Implementations§

    Source§

    impl Clone for PathId

    Source§

    fn clone(&self) -> PathId

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for PathId

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Decodable for PathId

    Source§

    fn decode<B>(r: &mut B) -> Result<PathId, UnexpectedEnd>
    where - B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    Source§

    impl Default for PathId

    Source§

    fn default() -> PathId

    Returns the “default value” for a type. Read more
    Source§

    impl Display for PathId

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Encodable for PathId

    Source§

    fn encode<B>(&self, w: &mut B)
    where - B: BufMut,

    Append the encoding of self to the provided buffer.
    Source§

    impl<T> From<T> for PathId
    where - T: Into<u32>,

    Source§

    fn from(source: T) -> PathId

    Converts to this type from the input type.
    Source§

    impl Hash for PathId

    Source§

    fn hash<H>(&self, state: &mut H)
    where +

    Trait Implementations§

    §

    impl Clone for PathId

    §

    fn clone(&self) -> PathId

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PathId

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Decodable for PathId

    §

    fn decode<B>(r: &mut B) -> Result<PathId, UnexpectedEnd>
    where + B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    §

    impl Default for PathId

    §

    fn default() -> PathId

    Returns the “default value” for a type. Read more
    §

    impl Display for PathId

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Encodable for PathId

    §

    fn encode<B>(&self, w: &mut B)
    where + B: BufMut,

    Append the encoding of self to the provided buffer.
    §

    impl<T> From<T> for PathId
    where + T: Into<u32>,

    §

    fn from(source: T) -> PathId

    Converts to this type from the input type.
    §

    impl Hash for PathId

    §

    fn hash<H>(&self, state: &mut H)
    where H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · Source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    Source§

    impl Ord for PathId

    Source§

    fn cmp(&self, other: &PathId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Ord for PathId

    §

    fn cmp(&self, other: &PathId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · Source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · Source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    Source§

    impl PartialEq for PathId

    Source§

    fn eq(&self, other: &PathId) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl PartialOrd for PathId

    Source§

    fn partial_cmp(&self, other: &PathId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more
    §

    impl PartialEq for PathId

    §

    fn eq(&self, other: &PathId) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl PartialOrd for PathId

    §

    fn partial_cmp(&self, other: &PathId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    Source§

    impl Copy for PathId

    Source§

    impl Eq for PathId

    Source§

    impl IdentityHashable for PathId

    Source§

    impl StructuralPartialEq for PathId

    Auto Trait Implementations§

    §

    impl Freeze for PathId

    §

    impl RefUnwindSafe for PathId

    §

    impl Send for PathId

    §

    impl Sync for PathId

    §

    impl Unpin for PathId

    §

    impl UnwindSafe for PathId

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +the >= operator. Read more

    §

    impl Copy for PathId

    §

    impl Eq for PathId

    §

    impl IdentityHashable for PathId

    §

    impl StructuralPartialEq for PathId

    Auto Trait Implementations§

    §

    impl Freeze for PathId

    §

    impl RefUnwindSafe for PathId

    §

    impl Send for PathId

    §

    impl Sync for PathId

    §

    impl Unpin for PathId

    §

    impl UnwindSafe for PathId

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.PathStats.html b/pr/547/docs/noq/struct.PathStats.html index 0a167df85..bbc7f2c09 100644 --- a/pr/547/docs/noq/struct.PathStats.html +++ b/pr/547/docs/noq/struct.PathStats.html @@ -1,4 +1,4 @@ -PathStats in noq - Rust

    PathStats

    Struct PathStats 

    Source
    #[non_exhaustive]
    pub struct PathStats {
    Show 13 fields +PathStats in noq - Rust

    PathStats

    Struct PathStats 

    #[non_exhaustive]
    pub struct PathStats {
    Show 13 fields pub rtt: Duration, pub udp_tx: UdpStats, pub udp_rx: UdpStats, @@ -28,8 +28,8 @@

    These are not included in Self::lost_packets and Self::lost_bytes.

    §black_holes_detected: u64

    The number of times a black hole was detected in the path.

    §current_mtu: u16

    Largest UDP payload size the path currently supports.

    -

    Trait Implementations§

    Source§

    impl Add<PathStats> for ConnectionStats

    Source§

    type Output = ConnectionStats

    The resulting type after applying the + operator.
    Source§

    fn add(self, rhs: PathStats) -> <ConnectionStats as Add<PathStats>>::Output

    Performs the + operation. Read more
    Source§

    impl AddAssign<PathStats> for ConnectionStats

    Source§

    fn add_assign(&mut self, rhs: PathStats)

    Performs the += operation. Read more
    Source§

    impl Clone for PathStats

    Source§

    fn clone(&self) -> PathStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for PathStats

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for PathStats

    Source§

    fn default() -> PathStats

    Returns the “default value” for a type. Read more
    Source§

    impl PartialEq for PathStats

    Source§

    fn eq(&self, other: &PathStats) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Copy for PathStats

    Source§

    impl Eq for PathStats

    Source§

    impl StructuralPartialEq for PathStats

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Add<PathStats> for ConnectionStats

    §

    type Output = ConnectionStats

    The resulting type after applying the + operator.
    §

    fn add(self, rhs: PathStats) -> <ConnectionStats as Add<PathStats>>::Output

    Performs the + operation. Read more
    §

    impl AddAssign<PathStats> for ConnectionStats

    §

    fn add_assign(&mut self, rhs: PathStats)

    Performs the += operation. Read more
    §

    impl Clone for PathStats

    §

    fn clone(&self) -> PathStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PathStats

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PathStats

    §

    fn default() -> PathStats

    Returns the “default value” for a type. Read more
    §

    impl PartialEq for PathStats

    §

    fn eq(&self, other: &PathStats) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Copy for PathStats

    §

    impl Eq for PathStats

    §

    impl StructuralPartialEq for PathStats

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.QlogConfig.html b/pr/547/docs/noq/struct.QlogConfig.html index 5196e362e..585c4fba0 100644 --- a/pr/547/docs/noq/struct.QlogConfig.html +++ b/pr/547/docs/noq/struct.QlogConfig.html @@ -1,12 +1,12 @@ -QlogConfig in noq - Rust

    QlogConfig

    Struct QlogConfig 

    Source
    pub struct QlogConfig { /* private fields */ }
    Expand description

    Configuration for qlog trace logging.

    +QlogConfig in noq - Rust

    QlogConfig

    Struct QlogConfig 

    pub struct QlogConfig { /* private fields */ }
    Expand description

    Configuration for qlog trace logging.

    This struct is returned from QlogFactory::for_connection if qlog logging should be enabled for a connection. It allows to set metadata for the qlog trace.

    The trace will be written to the provided writer in the [JSON-SEQ format] defined in the qlog spec.

    JSON-SEQ format

    -

    Implementations§

    Source§

    impl QlogConfig

    Source

    pub fn new(writer: Box<dyn Write + Send + Sync>) -> QlogConfig

    Creates a new QlogConfig that writes a qlog trace to the specified writer.

    -
    Source

    pub fn title(&mut self, title: Option<String>) -> &mut QlogConfig

    Title to record in the qlog capture

    -
    Source

    pub fn description(&mut self, description: Option<String>) -> &mut QlogConfig

    Description to record in the qlog capture

    -
    Source

    pub fn start_time(&mut self, start_time: Instant) -> &mut QlogConfig

    Epoch qlog event times are recorded relative to

    +

    Implementations§

    §

    impl QlogConfig

    pub fn new(writer: Box<dyn Write + Send + Sync>) -> QlogConfig

    Creates a new QlogConfig that writes a qlog trace to the specified writer.

    +

    pub fn title(&mut self, title: Option<String>) -> &mut QlogConfig

    Title to record in the qlog capture

    +

    pub fn description(&mut self, description: Option<String>) -> &mut QlogConfig

    Description to record in the qlog capture

    +

    pub fn start_time(&mut self, start_time: Instant) -> &mut QlogConfig

    Epoch qlog event times are recorded relative to

    If unset, the start of the connection is used.

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/pr/547/docs/noq/struct.QlogFileFactory.html b/pr/547/docs/noq/struct.QlogFileFactory.html index 8b399cd24..a7b6aeb6a 100644 --- a/pr/547/docs/noq/struct.QlogFileFactory.html +++ b/pr/547/docs/noq/struct.QlogFileFactory.html @@ -1,13 +1,13 @@ -QlogFileFactory in noq - Rust

    QlogFileFactory

    Struct QlogFileFactory 

    Source
    pub struct QlogFileFactory { /* private fields */ }
    Expand description

    Enables writing qlog traces to a directory.

    -

    Implementations§

    Source§

    impl QlogFileFactory

    Source

    pub fn new(dir: PathBuf) -> QlogFileFactory

    Creates a new qlog factory that writes files into the specified directory.

    -
    Source

    pub fn from_env() -> QlogFileFactory

    Creates a new qlog factory that writes files into QLOGDIR, if set.

    +QlogFileFactory in noq - Rust

    QlogFileFactory

    Struct QlogFileFactory 

    pub struct QlogFileFactory { /* private fields */ }
    Expand description

    Enables writing qlog traces to a directory.

    +

    Implementations§

    §

    impl QlogFileFactory

    pub fn new(dir: PathBuf) -> QlogFileFactory

    Creates a new qlog factory that writes files into the specified directory.

    +

    pub fn from_env() -> QlogFileFactory

    Creates a new qlog factory that writes files into QLOGDIR, if set.

    If the environment variable QLOGDIR is set, qlog traces for all connections handled by this endpoint will be written into that directory. If the directory doesn’t exist it will be created.

    -
    Source

    pub fn with_prefix(self, prefix: impl ToString) -> QlogFileFactory

    Sets a prefix to the filename of the generated files.

    -
    Source

    pub fn with_start_instant(self, start: Instant) -> QlogFileFactory

    Override the instant relative to which all events are recorded.

    +

    pub fn with_prefix(self, prefix: impl ToString) -> QlogFileFactory

    Sets a prefix to the filename of the generated files.

    +

    pub fn with_start_instant(self, start: Instant) -> QlogFileFactory

    Override the instant relative to which all events are recorded.

    If not set, events will be recorded relative to the start of the connection.

    -

    Trait Implementations§

    Source§

    impl Debug for QlogFileFactory

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl QlogFactory for QlogFileFactory

    Trait Implementations§

    §

    impl Debug for QlogFileFactory

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl QlogFactory for QlogFileFactory

    §

    fn for_connection( &self, side: Side, _remote: SocketAddr, diff --git a/pr/547/docs/noq/struct.ServerConfig.html b/pr/547/docs/noq/struct.ServerConfig.html index 58897f301..3d5b89606 100644 --- a/pr/547/docs/noq/struct.ServerConfig.html +++ b/pr/547/docs/noq/struct.ServerConfig.html @@ -1,4 +1,4 @@ -ServerConfig in noq - Rust

    ServerConfig

    Struct ServerConfig 

    Source
    pub struct ServerConfig {
    +ServerConfig in noq - Rust

    ServerConfig

    Struct ServerConfig 

    pub struct ServerConfig {
         pub transport: Arc<TransportConfig>,
         pub crypto: Arc<dyn ServerConfig>,
         pub validation_token: ValidationTokenConfig,
    @@ -9,39 +9,39 @@
     
    §crypto: Arc<dyn ServerConfig>

    TLS configuration used for incoming connections

    Must be set to use TLS 1.3 only.

    §validation_token: ValidationTokenConfig

    Configuration for sending and handling validation tokens

    -

    Implementations§

    Source§

    impl ServerConfig

    Source

    pub fn new( +

    Implementations§

    §

    impl ServerConfig

    pub fn new( crypto: Arc<dyn ServerConfig>, token_key: Arc<dyn HandshakeTokenKey>, ) -> ServerConfig

    Create a default config with a particular handshake token key

    -
    Source

    pub fn transport_config( +

    pub fn transport_config( &mut self, transport: Arc<TransportConfig>, ) -> &mut ServerConfig

    Set a custom TransportConfig

    -
    Source

    pub fn validation_token_config( +

    pub fn validation_token_config( &mut self, validation_token: ValidationTokenConfig, ) -> &mut ServerConfig

    Set a custom ValidationTokenConfig

    -
    Source

    pub fn token_key( +

    pub fn token_key( &mut self, value: Arc<dyn HandshakeTokenKey>, ) -> &mut ServerConfig

    Private key used to authenticate data included in handshake tokens

    -
    Source

    pub fn retry_token_lifetime(&mut self, value: Duration) -> &mut ServerConfig

    Duration after a retry token was issued for which it’s considered valid

    +

    pub fn retry_token_lifetime(&mut self, value: Duration) -> &mut ServerConfig

    Duration after a retry token was issued for which it’s considered valid

    Defaults to 15 seconds.

    -
    Source

    pub fn migration(&mut self, value: bool) -> &mut ServerConfig

    Whether to allow clients to migrate to new addresses

    +

    pub fn migration(&mut self, value: bool) -> &mut ServerConfig

    Whether to allow clients to migrate to new addresses

    Improves behavior for clients that move between different internet connections or suffer NAT rebinding. Enabled by default.

    -
    Source

    pub fn preferred_address_v4( +

    pub fn preferred_address_v4( &mut self, address: Option<SocketAddrV4>, ) -> &mut ServerConfig

    The preferred IPv4 address that will be communicated to clients during handshaking

    If the client is able to reach this address, it will switch to it.

    -
    Source

    pub fn preferred_address_v6( +

    pub fn preferred_address_v6( &mut self, address: Option<SocketAddrV6>, ) -> &mut ServerConfig

    The preferred IPv6 address that will be communicated to clients during handshaking

    If the client is able to reach this address, it will switch to it.

    -
    Source

    pub fn max_incoming(&mut self, max_incoming: usize) -> &mut ServerConfig

    Maximum number of Incoming to allow to exist at a time

    -

    An Incoming comes into existence when an incoming connection attempt +

    pub fn max_incoming(&mut self, max_incoming: usize) -> &mut ServerConfig

    Maximum number of [Incoming][crate::Incoming] to allow to exist at a time

    +

    An [Incoming][crate::Incoming] comes into existence when an incoming connection attempt is received and stops existing when the application either accepts it or otherwise disposes of it. While this limit is reached, new incoming connection attempts are immediately refused. Larger values have greater worst-case memory consumption, but accommodate greater @@ -49,44 +49,44 @@ application latency in handling incoming connection attempts.

    The default value is set to 65536. With a typical Ethernet MTU of 1500 bytes, this limits memory consumption from this to under 100 MiB–a generous amount that still prevents memory exhaustion in most contexts.

    -
    Source

    pub fn incoming_buffer_size( +

    pub fn incoming_buffer_size( &mut self, incoming_buffer_size: u64, -) -> &mut ServerConfig

    Maximum number of received bytes to buffer for each Incoming

    -

    An Incoming comes into existence when an incoming connection attempt +) -> &mut ServerConfig

    Maximum number of received bytes to buffer for each [Incoming][crate::Incoming]

    +

    An [Incoming][crate::Incoming] comes into existence when an incoming connection attempt is received and stops existing when the application either accepts it or otherwise disposes of it. This limit governs only packets received within that period, and does not include the first packet. Packets received in excess of this limit are dropped, which may cause 0-RTT or handshake data to have to be retransmitted.

    The default value is set to 10 MiB–an amount such that in most situations a client would not transmit that much 0-RTT data faster than the server handles the corresponding -Incoming.

    -
    Source

    pub fn incoming_buffer_size_total( +[Incoming][crate::Incoming].

    +

    pub fn incoming_buffer_size_total( &mut self, incoming_buffer_size_total: u64, -) -> &mut ServerConfig

    Maximum number of received bytes to buffer for all Incoming +) -> &mut ServerConfig

    Maximum number of received bytes to buffer for all [Incoming][crate::Incoming] collectively

    -

    An Incoming comes into existence when an incoming connection attempt +

    An [Incoming][crate::Incoming] comes into existence when an incoming connection attempt is received and stops existing when the application either accepts it or otherwise disposes of it. This limit governs only packets received within that period, and does not include the first packet. Packets received in excess of this limit are dropped, which may cause 0-RTT or handshake data to have to be retransmitted.

    The default value is set to 100 MiB–a generous amount that still prevents memory exhaustion in most contexts.

    -
    Source

    pub fn time_source( +

    pub fn time_source( &mut self, time_source: Arc<dyn TimeSource>, ) -> &mut ServerConfig

    Object to get current SystemTime

    This exists to allow system time to be mocked in tests, or wherever else desired.

    Defaults to StdSystemTime, which simply calls SystemTime::now().

    -
    Source§

    impl ServerConfig

    §

    impl ServerConfig

    pub fn with_single_cert( cert_chain: Vec<CertificateDer<'static>>, key: PrivateKeyDer<'static>, ) -> Result<ServerConfig, Error>

    Create a server config with the given certificate chain to be presented to clients

    Uses a randomized handshake token key.

    -
    Source§

    impl ServerConfig

    Source

    pub fn with_crypto(crypto: Arc<dyn ServerConfig>) -> ServerConfig

    Create a server config with the given crypto::ServerConfig

    +
    §

    impl ServerConfig

    pub fn with_crypto(crypto: Arc<dyn ServerConfig>) -> ServerConfig

    Create a server config with the given crypto::ServerConfig

    Uses a randomized handshake token key.

    -

    Trait Implementations§

    Source§

    impl Clone for ServerConfig

    Source§

    fn clone(&self) -> ServerConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ServerConfig

    Source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ServerConfig

    §

    fn clone(&self) -> ServerConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ServerConfig

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.StdSystemTime.html b/pr/547/docs/noq/struct.StdSystemTime.html index e05944e7b..5f058c581 100644 --- a/pr/547/docs/noq/struct.StdSystemTime.html +++ b/pr/547/docs/noq/struct.StdSystemTime.html @@ -1,6 +1,6 @@ -StdSystemTime in noq - Rust

    StdSystemTime

    Struct StdSystemTime 

    Source
    pub struct StdSystemTime;
    Expand description

    Default implementation of TimeSource

    +StdSystemTime in noq - Rust

    StdSystemTime

    Struct StdSystemTime 

    pub struct StdSystemTime;
    Expand description

    Default implementation of TimeSource

    Implements now by calling SystemTime::now().

    -

    Trait Implementations§

    Source§

    impl TimeSource for StdSystemTime

    Source§

    fn now(&self) -> SystemTime

    Get SystemTime::now() or the mocked equivalent

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl TimeSource for StdSystemTime

    §

    fn now(&self) -> SystemTime

    Get SystemTime::now() or the mocked equivalent

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/pr/547/docs/noq/struct.StreamId.html b/pr/547/docs/noq/struct.StreamId.html index 65302a06e..e19f72a09 100644 --- a/pr/547/docs/noq/struct.StreamId.html +++ b/pr/547/docs/noq/struct.StreamId.html @@ -1,26 +1,26 @@ -StreamId in noq - Rust

    StreamId

    Struct StreamId 

    Source
    pub struct StreamId(/* private fields */);
    Expand description

    Identifier for a stream within a particular connection

    -

    Implementations§

    Source§

    impl StreamId

    Source

    pub fn new(initiator: Side, dir: Dir, index: u64) -> StreamId

    Create a new StreamId

    -
    Source

    pub fn initiator(self) -> Side

    Which side of a connection initiated the stream

    -
    Source

    pub fn dir(self) -> Dir

    Which directions data flows in

    -
    Source

    pub fn index(self) -> u64

    Distinguishes streams of the same initiator and directionality

    -

    Trait Implementations§

    Source§

    impl<'arbitrary> Arbitrary<'arbitrary> for StreamId

    Source§

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<StreamId, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    §

    fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>

    Generate an arbitrary value of Self from the entirety of the given +StreamId in noq - Rust

    StreamId

    Struct StreamId 

    pub struct StreamId(/* private fields */);
    Expand description

    Identifier for a stream within a particular connection

    +

    Implementations§

    §

    impl StreamId

    pub fn new(initiator: Side, dir: Dir, index: u64) -> StreamId

    Create a new StreamId

    +

    pub fn initiator(self) -> Side

    Which side of a connection initiated the stream

    +

    pub fn dir(self) -> Dir

    Which directions data flows in

    +

    pub fn index(self) -> u64

    Distinguishes streams of the same initiator and directionality

    +

    Trait Implementations§

    §

    impl<'arbitrary> Arbitrary<'arbitrary> for StreamId

    §

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<StreamId, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    §

    fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>

    Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
    §

    fn size_hint(depth: usize) -> (usize, Option<usize>)

    Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
    §

    fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

    Get a size hint for how many bytes out of an Unstructured this type -needs to construct itself. Read more
    Source§

    impl Clone for StreamId

    Source§

    fn clone(&self) -> StreamId

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for StreamId

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Decodable for StreamId

    Source§

    fn decode<B>(buf: &mut B) -> Result<StreamId, UnexpectedEnd>
    where - B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    Source§

    impl Display for StreamId

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Encodable for StreamId

    Source§

    fn encode<B>(&self, buf: &mut B)
    where - B: BufMut,

    Append the encoding of self to the provided buffer.
    Source§

    impl From<StreamId> for VarInt

    Source§

    fn from(x: StreamId) -> VarInt

    Converts to this type from the input type.
    Source§

    impl From<VarInt> for StreamId

    Source§

    fn from(v: VarInt) -> StreamId

    Converts to this type from the input type.
    Source§

    impl Hash for StreamId

    Source§

    fn hash<__H>(&self, state: &mut __H)
    where +needs to construct itself. Read more

    §

    impl Clone for StreamId

    §

    fn clone(&self) -> StreamId

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StreamId

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Decodable for StreamId

    §

    fn decode<B>(buf: &mut B) -> Result<StreamId, UnexpectedEnd>
    where + B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    §

    impl Display for StreamId

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Encodable for StreamId

    §

    fn encode<B>(&self, buf: &mut B)
    where + B: BufMut,

    Append the encoding of self to the provided buffer.
    §

    impl From<StreamId> for VarInt

    §

    fn from(x: StreamId) -> VarInt

    Converts to this type from the input type.
    §

    impl From<VarInt> for StreamId

    §

    fn from(v: VarInt) -> StreamId

    Converts to this type from the input type.
    §

    impl Hash for StreamId

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · Source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    Source§

    impl Ord for StreamId

    Source§

    fn cmp(&self, other: &StreamId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Ord for StreamId

    §

    fn cmp(&self, other: &StreamId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · Source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · Source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    Source§

    impl PartialEq for StreamId

    Source§

    fn eq(&self, other: &StreamId) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl PartialOrd for StreamId

    Source§

    fn partial_cmp(&self, other: &StreamId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more

    §

    impl PartialEq for StreamId

    §

    fn eq(&self, other: &StreamId) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl PartialOrd for StreamId

    §

    fn partial_cmp(&self, other: &StreamId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    Source§

    impl Copy for StreamId

    Source§

    impl Eq for StreamId

    Source§

    impl StructuralPartialEq for StreamId

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +the >= operator. Read more

    §

    impl Copy for StreamId

    §

    impl Eq for StreamId

    §

    impl StructuralPartialEq for StreamId

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.TokenMemoryCache.html b/pr/547/docs/noq/struct.TokenMemoryCache.html index 6caa3cf45..48163a37f 100644 --- a/pr/547/docs/noq/struct.TokenMemoryCache.html +++ b/pr/547/docs/noq/struct.TokenMemoryCache.html @@ -1,11 +1,11 @@ -TokenMemoryCache in noq - Rust

    TokenMemoryCache

    Struct TokenMemoryCache 

    Source
    pub struct TokenMemoryCache(/* private fields */);
    Expand description

    TokenStore implementation that stores up to N tokens per server name for up to a +TokenMemoryCache in noq - Rust

    TokenMemoryCache

    Struct TokenMemoryCache 

    pub struct TokenMemoryCache(/* private fields */);
    Expand description

    TokenStore implementation that stores up to N tokens per server name for up to a limited number of server names, in-memory

    -

    Implementations§

    Source§

    impl TokenMemoryCache

    Source

    pub fn new( +

    Implementations§

    §

    impl TokenMemoryCache

    pub fn new( max_server_names: u32, max_tokens_per_server: usize, ) -> TokenMemoryCache

    Construct empty

    -

    Trait Implementations§

    Source§

    impl Debug for TokenMemoryCache

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for TokenMemoryCache

    Defaults to a maximum of 256 servers and 2 tokens per server

    -
    Source§

    fn default() -> TokenMemoryCache

    Returns the “default value” for a type. Read more
    Source§

    impl TokenStore for TokenMemoryCache

    Source§

    fn insert(&self, server_name: &str, token: Bytes)

    Potentially store a token for later one-time use Read more
    Source§

    fn take(&self, server_name: &str) -> Option<Bytes>

    Try to find and take a token that was stored with the given server name Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Debug for TokenMemoryCache

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TokenMemoryCache

    Defaults to a maximum of 256 servers and 2 tokens per server

    +
    §

    fn default() -> TokenMemoryCache

    Returns the “default value” for a type. Read more
    §

    impl TokenStore for TokenMemoryCache

    §

    fn insert(&self, server_name: &str, token: Bytes)

    Potentially store a token for later one-time use Read more
    §

    fn take(&self, server_name: &str) -> Option<Bytes>

    Try to find and take a token that was stored with the given server name Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/pr/547/docs/noq/struct.TokenReuseError.html b/pr/547/docs/noq/struct.TokenReuseError.html index 671777fd3..44648e5cd 100644 --- a/pr/547/docs/noq/struct.TokenReuseError.html +++ b/pr/547/docs/noq/struct.TokenReuseError.html @@ -1,4 +1,4 @@ -TokenReuseError in noq - Rust

    TokenReuseError

    Struct TokenReuseError 

    Source
    pub struct TokenReuseError;
    Expand description

    Error for when a validation token may have been reused

    +TokenReuseError in noq - Rust

    TokenReuseError

    Struct TokenReuseError 

    pub struct TokenReuseError;
    Expand description

    Error for when a validation token may have been reused

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where diff --git a/pr/547/docs/noq/struct.Transmit.html b/pr/547/docs/noq/struct.Transmit.html index f9d06ac01..6f6043eed 100644 --- a/pr/547/docs/noq/struct.Transmit.html +++ b/pr/547/docs/noq/struct.Transmit.html @@ -1,4 +1,4 @@ -Transmit in noq - Rust

    Transmit

    Struct Transmit 

    Source
    pub struct Transmit {
    +Transmit in noq - Rust

    Transmit

    Struct Transmit 

    pub struct Transmit {
         pub destination: SocketAddr,
         pub ecn: Option<EcnCodepoint>,
         pub size: usize,
    @@ -11,7 +11,7 @@
     
    §segment_size: Option<usize>

    The segment size if this transmission contains multiple datagrams. This is None if the transmit only contains a single datagram

    §src_ip: Option<IpAddr>

    Optional source IP address for the datagram

    -

    Trait Implementations§

    Source§

    impl Debug for Transmit

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Debug for Transmit

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/pr/547/docs/noq/struct.TransportConfig.html b/pr/547/docs/noq/struct.TransportConfig.html index 363483ef1..6487fdce3 100644 --- a/pr/547/docs/noq/struct.TransportConfig.html +++ b/pr/547/docs/noq/struct.TransportConfig.html @@ -1,4 +1,4 @@ -TransportConfig in noq - Rust

    TransportConfig

    Struct TransportConfig 

    Source
    pub struct TransportConfig { /* private fields */ }
    Expand description

    Parameters governing the core QUIC state machine

    +TransportConfig in noq - Rust

    TransportConfig

    Struct TransportConfig 

    pub struct TransportConfig { /* private fields */ }
    Expand description

    Parameters governing the core QUIC state machine

    Default values should be suitable for most internet applications. Applications protocols which forbid remotely-initiated streams should set max_concurrent_bidi_streams and max_concurrent_uni_streams to zero.

    @@ -8,17 +8,17 @@ tuned for a particular expected round trip time, link capacity, and memory avail for higher bandwidths and latencies increases worst-case memory consumption, but does not impair performance at lower bandwidths and latencies. The default configuration is tuned for a 100Mbps link with a 100ms round trip time.

    -

    Implementations§

    Source§

    impl TransportConfig

    Implementations§

    §

    impl TransportConfig

    pub fn max_concurrent_bidi_streams( &mut self, value: VarInt, ) -> &mut TransportConfig

    Maximum number of incoming bidirectional streams that may be open concurrently

    Must be nonzero for the peer to open any bidirectional streams.

    Worst-case memory use is directly proportional to max_concurrent_bidi_streams * stream_receive_window, with an upper bound proportional to receive_window.

    -
    Source

    pub fn max_concurrent_uni_streams( +

    pub fn max_concurrent_uni_streams( &mut self, value: VarInt, ) -> &mut TransportConfig

    Variant of max_concurrent_bidi_streams affecting unidirectional streams

    -
    Source

    pub fn max_idle_timeout( +

    pub fn max_idle_timeout( &mut self, value: Option<IdleTimeout>, ) -> &mut TransportConfig

    Maximum duration of inactivity to accept before timing out the connection.

    @@ -33,43 +33,43 @@ idle timeout can result in permanently hung futures!

    config.max_idle_timeout(Some(VarInt::from_u32(10_000).into())); // Set the idle timeout as a `Duration` -config.max_idle_timeout(Some(Duration::from_secs(10).try_into()?));

    Source

    pub fn stream_receive_window(&mut self, value: VarInt) -> &mut TransportConfig

    Maximum number of bytes the peer may transmit without acknowledgement on any one stream +config.max_idle_timeout(Some(Duration::from_secs(10).try_into()?));

    pub fn stream_receive_window(&mut self, value: VarInt) -> &mut TransportConfig

    Maximum number of bytes the peer may transmit without acknowledgement on any one stream before becoming blocked.

    This should be set to at least the expected connection latency multiplied by the maximum desired throughput. Setting this smaller than receive_window helps ensure that a single stream doesn’t monopolize receive buffers, which may otherwise occur if the application chooses not to read from a large stream for a time while still requiring data on other streams.

    -
    Source

    pub fn receive_window(&mut self, value: VarInt) -> &mut TransportConfig

    Maximum number of bytes the peer may transmit across all streams of a connection before +

    pub fn receive_window(&mut self, value: VarInt) -> &mut TransportConfig

    Maximum number of bytes the peer may transmit across all streams of a connection before becoming blocked.

    This should be set to at least the expected connection latency multiplied by the maximum desired throughput. Larger values can be useful to allow maximum throughput within a stream while another is blocked.

    -
    Source

    pub fn send_window(&mut self, value: u64) -> &mut TransportConfig

    Maximum number of bytes to transmit to a peer without acknowledgment

    +

    pub fn send_window(&mut self, value: u64) -> &mut TransportConfig

    Maximum number of bytes to transmit to a peer without acknowledgment

    Provides an upper bound on memory when communicating with peers that issue large amounts of flow control credit. Endpoints that wish to handle large numbers of connections robustly should take care to set this low enough to guarantee memory exhaustion does not occur if every connection uses the entire window.

    -
    Source

    pub fn send_fairness(&mut self, value: bool) -> &mut TransportConfig

    Whether to implement fair queuing for send streams having the same priority.

    +

    pub fn send_fairness(&mut self, value: bool) -> &mut TransportConfig

    Whether to implement fair queuing for send streams having the same priority.

    When enabled, connections schedule data from outgoing streams having the same priority in a round-robin fashion. When disabled, streams are scheduled in the order they are written to.

    Note that this only affects streams with the same priority. Higher priority streams always take precedence over lower priority streams.

    Disabling fairness can reduce fragmentation and protocol overhead for workloads that use many small streams.

    -
    Source

    pub fn packet_threshold(&mut self, value: u32) -> &mut TransportConfig

    Maximum reordering in packet number space before FACK style loss detection considers a +

    pub fn packet_threshold(&mut self, value: u32) -> &mut TransportConfig

    Maximum reordering in packet number space before FACK style loss detection considers a packet lost. Should not be less than 3, per RFC5681.

    -
    Source

    pub fn time_threshold(&mut self, value: f32) -> &mut TransportConfig

    Maximum reordering in time space before time based loss detection considers a packet lost, +

    pub fn time_threshold(&mut self, value: f32) -> &mut TransportConfig

    Maximum reordering in time space before time based loss detection considers a packet lost, as a factor of RTT

    -
    Source

    pub fn initial_rtt(&mut self, value: Duration) -> &mut TransportConfig

    The RTT used before an RTT sample is taken

    -
    Source

    pub fn initial_mtu(&mut self, value: u16) -> &mut TransportConfig

    The initial value to be used as the maximum UDP payload size before running MTU discovery +

    pub fn initial_rtt(&mut self, value: Duration) -> &mut TransportConfig

    The RTT used before an RTT sample is taken

    +

    pub fn initial_mtu(&mut self, value: u16) -> &mut TransportConfig

    The initial value to be used as the maximum UDP payload size before running MTU discovery (see TransportConfig::mtu_discovery_config).

    Must be at least 1200, which is the default, and known to be safe for typical internet applications. Larger values are more efficient, but increase the risk of packet loss due to exceeding the network path’s IP MTU. If the provided value is higher than what the network path actually supports, packet loss will eventually trigger black hole detection and bring it down to TransportConfig::min_mtu.

    -
    Source

    pub fn min_mtu(&mut self, value: u16) -> &mut TransportConfig

    The maximum UDP payload size guaranteed to be supported by the network.

    +

    pub fn min_mtu(&mut self, value: u16) -> &mut TransportConfig

    The maximum UDP payload size guaranteed to be supported by the network.

    Must be at least 1200, which is the default, and lower than or equal to TransportConfig::initial_mtu.

    Real-world MTUs can vary according to ISP, VPN, and properties of intermediate network links @@ -80,19 +80,19 @@ catastrophic packet loss, without a possibility of repair. Prefer TransportConfig::initial_mtu together with TransportConfig::mtu_discovery_config to set a maximum UDP payload size that robustly adapts to the network.

    -
    Source

    pub fn mtu_discovery_config( +

    pub fn mtu_discovery_config( &mut self, value: Option<MtuDiscoveryConfig>, ) -> &mut TransportConfig

    Specifies the MTU discovery config (see MtuDiscoveryConfig for details).

    Enabled by default.

    -
    Source

    pub fn pad_to_mtu(&mut self, value: bool) -> &mut TransportConfig

    Pad UDP datagrams carrying application data to current maximum UDP payload size

    +

    pub fn pad_to_mtu(&mut self, value: bool) -> &mut TransportConfig

    Pad UDP datagrams carrying application data to current maximum UDP payload size

    Disabled by default. UDP datagrams containing loss probes are exempt from padding.

    Enabling this helps mitigate traffic analysis by network observers, but it increases bandwidth usage. Without this mitigation precise plain text size of application datagrams as well as the total size of stream write bursts can be inferred by observers under certain conditions. This analysis requires either an uncongested connection or application datagrams too large to be coalesced.

    -
    Source

    pub fn ack_frequency_config( +

    pub fn ack_frequency_config( &mut self, value: Option<AckFrequencyConfig>, ) -> &mut TransportConfig

    Specifies the ACK frequency config (see AckFrequencyConfig for details)

    @@ -101,11 +101,11 @@ frequency QUIC extension.

    Defaults to None, which disables controlling the peer’s acknowledgement frequency. Even if set to None, the local side still supports the acknowledgement frequency QUIC extension and may use it in other ways.

    -
    Source

    pub fn persistent_congestion_threshold( +

    pub fn persistent_congestion_threshold( &mut self, value: u32, ) -> &mut TransportConfig

    Number of consecutive PTOs after which network is considered to be experiencing persistent congestion.

    -
    Source

    pub fn keep_alive_interval( +

    pub fn keep_alive_interval( &mut self, value: Option<Duration>, ) -> &mut TransportConfig

    Period of inactivity before sending a keep-alive packet

    @@ -113,11 +113,11 @@ extension and may use it in other ways.

    None to disable, which is the default. Only one side of any given connection needs keep-alive enabled for the connection to be preserved. Must be set lower than the idle_timeout of both peers to be effective.

    -
    Source

    pub fn crypto_buffer_size(&mut self, value: usize) -> &mut TransportConfig

    Maximum quantity of out-of-order crypto layer data to buffer

    -
    Source

    pub fn allow_spin(&mut self, value: bool) -> &mut TransportConfig

    Whether the implementation is permitted to set the spin bit on this connection

    +

    pub fn crypto_buffer_size(&mut self, value: usize) -> &mut TransportConfig

    Maximum quantity of out-of-order crypto layer data to buffer

    +

    pub fn allow_spin(&mut self, value: bool) -> &mut TransportConfig

    Whether the implementation is permitted to set the spin bit on this connection

    This allows passive observers to easily judge the round trip time of a connection, which can be useful for network administration but sacrifices a small amount of privacy.

    -
    Source

    pub fn datagram_receive_buffer_size( +

    pub fn datagram_receive_buffer_size( &mut self, value: Option<usize>, ) -> &mut TransportConfig

    Maximum number of incoming application datagram bytes to buffer, or None to disable @@ -125,7 +125,7 @@ incoming datagrams

    The peer is forbidden to send single datagrams larger than this size. If the aggregate size of all datagrams that have been received from the peer but not consumed by the application exceeds this value, old datagrams are dropped until it is no longer exceeded.

    -
    Source

    pub fn datagram_send_buffer_size( +

    pub fn datagram_send_buffer_size( &mut self, value: usize, ) -> &mut TransportConfig

    Maximum number of outgoing application datagram bytes to buffer

    @@ -133,7 +133,7 @@ exceeds this value, old datagrams are dropped until it is no longer exceeded.

    -
    Source

    pub fn congestion_controller_factory( +

    pub fn congestion_controller_factory( &mut self, factory: Arc<dyn ControllerFactory + Send + Sync>, ) -> &mut TransportConfig

    How to construct new congestion::Controllers

    @@ -141,7 +141,7 @@ sent, older datagrams are dropped until sufficient space is available.

    e.g. a congestion::NewRenoConfig.

    §Example
    let mut config = TransportConfig::default();
    -config.congestion_controller_factory(Arc::new(congestion::NewRenoConfig::default()));
    Source

    pub fn enable_segmentation_offload( +config.congestion_controller_factory(Arc::new(congestion::NewRenoConfig::default()));

    pub fn enable_segmentation_offload( &mut self, enabled: bool, ) -> &mut TransportConfig

    Whether to use “Generic Segmentation Offload” to accelerate transmits, when supported by the @@ -152,13 +152,13 @@ headers, such as when transmitting bulk data on a connection. However, it is not by all network interface drivers or packet inspection tools. noq-udp will attempt to disable GSO automatically when unavailable, but this can lead to spurious packet loss at startup, temporarily degrading performance.

    -
    Source

    pub fn send_observed_address_reports( +

    pub fn send_observed_address_reports( &mut self, enabled: bool, ) -> &mut TransportConfig

    Whether to send observed address reports to peers.

    This will aid peers in inferring their reachable address, which in most NATd networks will not be easily available to them.

    -
    Source

    pub fn receive_observed_address_reports( +

    pub fn receive_observed_address_reports( &mut self, enabled: bool, ) -> &mut TransportConfig

    Whether to receive observed address reports from other peers.

    @@ -166,7 +166,7 @@ will not be easily available to them.

    address reports will do so if this transport parameter is set. In general, observed address reports cannot be trusted. This, however, can aid the current endpoint in inferring its reachable address, which in most NATd networks will not be easily available.

    -
    Source

    pub fn max_concurrent_multipath_paths( +

    pub fn max_concurrent_multipath_paths( &mut self, max_concurrent: u32, ) -> &mut TransportConfig

    Enables the Multipath Extension for QUIC.

    @@ -175,16 +175,16 @@ reachable address, which in most NATd networks will not be easily available.

    The value provided specifies the number maximum number of paths this endpoint may open concurrently when multipath is negotiated. For any path to be opened, the remote must enable multipath as well.

    -
    Source

    pub fn default_path_max_idle_timeout( +

    pub fn default_path_max_idle_timeout( &mut self, timeout: Option<Duration>, ) -> &mut TransportConfig

    Sets a default per-path maximum idle timeout

    If the path is idle for this long the path will be abandoned. Bear in mind this will interact with the TransportConfig::max_idle_timeout, if the last path is abandoned the entire connection will be closed.

    -

    You can also change this using Connection::set_path_max_idle_timeout for +

    You can also change this using Connection::set_path_max_idle_timeout for existing paths.

    -
    Source

    pub fn default_path_keep_alive_interval( +

    pub fn default_path_keep_alive_interval( &mut self, interval: Option<Duration>, ) -> &mut TransportConfig

    Sets a default per-path keep alive interval

    @@ -192,9 +192,9 @@ existing paths.

    TransportConfig::keep_alive_interval. This setting will keep this path active, TransportConfig::keep_alive_interval will keep the connection active, with no control over which path is used for this.

    -

    You can also change this using Connection::set_path_keep_alive_interval for +

    You can also change this using Connection::set_path_keep_alive_interval for existing path.

    -
    Source

    pub fn set_max_remote_nat_traversal_addresses( +

    pub fn set_max_remote_nat_traversal_addresses( &mut self, max_addresses: u8, ) -> &mut TransportConfig

    Sets the maximum number of nat traversal addresses this endpoint allows the remote to @@ -205,26 +205,26 @@ the Nat Traversal Extension for QUIC, see

    This implementation expects the multipath extension to be enabled as well. if not yet enabled via Self::max_concurrent_multipath_paths, a default value of [DEFAULT_CONCURRENT_MULTIPATH_PATHS_WHEN_ENABLED] will be used.

    -
    Source

    pub fn qlog_factory( +

    pub fn qlog_factory( &mut self, factory: Arc<dyn QlogFactory>, ) -> &mut TransportConfig

    Configures qlog capturing by setting a QlogFactory.

    This assigns a QlogFactory that produces qlog capture configurations for individual connections.

    -
    Source

    pub fn qlog_from_env(&mut self, prefix: &str) -> &mut TransportConfig

    Configures qlog capturing through the QLOGDIR environment variable.

    +

    pub fn qlog_from_env(&mut self, prefix: &str) -> &mut TransportConfig

    Configures qlog capturing through the QLOGDIR environment variable.

    This uses QlogFileFactory::from_env to create a factory to write qlog traces into the directory set through the QLOGDIR environment variable.

    If QLOGDIR is not set, no traces will be written. If QLOGDIR is set to a path that does not exist, it will be created.

    The files will be prefixed with prefix.

    -
    Source

    pub fn qlog_from_path( +

    pub fn qlog_from_path( &mut self, path: impl AsRef<Path>, prefix: &str, ) -> &mut TransportConfig

    Configures qlog capturing into a directory.

    This uses QlogFileFactory to create a factory to write qlog traces into the specified directory. The files will be prefixed with prefix.

    -

    Trait Implementations§

    Source§

    impl Clone for TransportConfig

    Source§

    fn clone(&self) -> TransportConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for TransportConfig

    Source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for TransportConfig

    Source§

    fn default() -> TransportConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for TransportConfig

    §

    fn clone(&self) -> TransportConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TransportConfig

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TransportConfig

    §

    fn default() -> TransportConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.TransportErrorCode.html b/pr/547/docs/noq/struct.TransportErrorCode.html index 78952d263..e6680a7bc 100644 --- a/pr/547/docs/noq/struct.TransportErrorCode.html +++ b/pr/547/docs/noq/struct.TransportErrorCode.html @@ -1,30 +1,30 @@ -TransportErrorCode in noq - Rust

    TransportErrorCode

    Struct TransportErrorCode 

    Source
    pub struct TransportErrorCode(/* private fields */);
    Expand description

    Transport-level error code

    -

    Implementations§

    Source§

    impl Code

    Source

    pub fn crypto(code: u8) -> Code

    Create QUIC error code from TLS alert code

    -
    Source§

    impl Code

    Source

    pub const NO_ERROR: Code

    the connection is being closed abruptly in the absence of any error

    -
    Source

    pub const INTERNAL_ERROR: Code

    the endpoint encountered an internal error and cannot continue with the connection

    -
    Source

    pub const CONNECTION_REFUSED: Code

    the server refused to accept a new connection

    -
    Source

    pub const FLOW_CONTROL_ERROR: Code

    received more data than permitted in advertised data limits

    -
    Source

    pub const STREAM_LIMIT_ERROR: Code

    received a frame for a stream identifier that exceeded advertised the stream limit for the corresponding stream type

    -
    Source

    pub const STREAM_STATE_ERROR: Code

    received a frame for a stream that was not in a state that permitted that frame

    -
    Source

    pub const FINAL_SIZE_ERROR: Code

    received a STREAM frame or a RESET_STREAM frame containing a different final size to the one already established

    -
    Source

    pub const FRAME_ENCODING_ERROR: Code

    received a frame that was badly formatted

    -
    Source

    pub const TRANSPORT_PARAMETER_ERROR: Code

    received transport parameters that were badly formatted, included an invalid value, was absent even though it is mandatory, was present though it is forbidden, or is otherwise in error

    -
    Source

    pub const CONNECTION_ID_LIMIT_ERROR: Code

    the number of connection IDs provided by the peer exceeds the advertised active_connection_id_limit

    -
    Source

    pub const PROTOCOL_VIOLATION: Code

    detected an error with protocol compliance that was not covered by more specific error codes

    -
    Source

    pub const INVALID_TOKEN: Code

    received an invalid Retry Token in a client Initial

    -
    Source

    pub const APPLICATION_ERROR: Code

    the application or application protocol caused the connection to be closed during the handshake

    -
    Source

    pub const CRYPTO_BUFFER_EXCEEDED: Code

    received more data in CRYPTO frames than can be buffered

    -
    Source

    pub const KEY_UPDATE_ERROR: Code

    key update error

    -
    Source

    pub const AEAD_LIMIT_REACHED: Code

    the endpoint has reached the confidentiality or integrity limit for the AEAD algorithm

    -
    Source

    pub const NO_VIABLE_PATH: Code

    no viable network path exists

    -
    Source

    pub const APPLICATION_ABANDON_PATH: Code

    Path abandoned at the application’s request

    -
    Source

    pub const PATH_RESOURCE_LIMIT_REACHED: Code

    Path abandoned due to resource limitations in the transport

    -
    Source

    pub const PATH_UNSTABLE_OR_POOR: Code

    Path abandoned due to unstable interfaces

    -
    Source

    pub const NO_CID_AVAILABLE_FOR_PATH: Code

    Path abandoned due to no available connection IDs for the path

    -

    Trait Implementations§

    Source§

    impl Clone for Code

    Source§

    fn clone(&self) -> Code

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Code

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Decodable for Code

    Source§

    fn decode<B>(buf: &mut B) -> Result<Code, UnexpectedEnd>
    where - B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    Source§

    impl Display for Code

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Encodable for Code

    Source§

    fn encode<B>(&self, buf: &mut B)
    where - B: BufMut,

    Append the encoding of self to the provided buffer.
    Source§

    impl From<Code> for VarInt

    Source§

    fn from(value: Code) -> VarInt

    Converts to this type from the input type.
    Source§

    impl From<VarInt> for Code

    Source§

    fn from(value: VarInt) -> Code

    Converts to this type from the input type.
    Source§

    impl PartialEq for Code

    Source§

    fn eq(&self, other: &Code) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Copy for Code

    Source§

    impl Eq for Code

    Source§

    impl StructuralPartialEq for Code

    Auto Trait Implementations§

    §

    impl Freeze for Code

    §

    impl RefUnwindSafe for Code

    §

    impl Send for Code

    §

    impl Sync for Code

    §

    impl Unpin for Code

    §

    impl UnwindSafe for Code

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +TransportErrorCode in noq - Rust

    TransportErrorCode

    Struct TransportErrorCode 

    pub struct TransportErrorCode(/* private fields */);
    Expand description

    Transport-level error code

    +

    Implementations§

    §

    impl Code

    pub fn crypto(code: u8) -> Code

    Create QUIC error code from TLS alert code

    +
    §

    impl Code

    pub const NO_ERROR: Code

    the connection is being closed abruptly in the absence of any error

    +

    pub const INTERNAL_ERROR: Code

    the endpoint encountered an internal error and cannot continue with the connection

    +

    pub const CONNECTION_REFUSED: Code

    the server refused to accept a new connection

    +

    pub const FLOW_CONTROL_ERROR: Code

    received more data than permitted in advertised data limits

    +

    pub const STREAM_LIMIT_ERROR: Code

    received a frame for a stream identifier that exceeded advertised the stream limit for the corresponding stream type

    +

    pub const STREAM_STATE_ERROR: Code

    received a frame for a stream that was not in a state that permitted that frame

    +

    pub const FINAL_SIZE_ERROR: Code

    received a STREAM frame or a RESET_STREAM frame containing a different final size to the one already established

    +

    pub const FRAME_ENCODING_ERROR: Code

    received a frame that was badly formatted

    +

    pub const TRANSPORT_PARAMETER_ERROR: Code

    received transport parameters that were badly formatted, included an invalid value, was absent even though it is mandatory, was present though it is forbidden, or is otherwise in error

    +

    pub const CONNECTION_ID_LIMIT_ERROR: Code

    the number of connection IDs provided by the peer exceeds the advertised active_connection_id_limit

    +

    pub const PROTOCOL_VIOLATION: Code

    detected an error with protocol compliance that was not covered by more specific error codes

    +

    pub const INVALID_TOKEN: Code

    received an invalid Retry Token in a client Initial

    +

    pub const APPLICATION_ERROR: Code

    the application or application protocol caused the connection to be closed during the handshake

    +

    pub const CRYPTO_BUFFER_EXCEEDED: Code

    received more data in CRYPTO frames than can be buffered

    +

    pub const KEY_UPDATE_ERROR: Code

    key update error

    +

    pub const AEAD_LIMIT_REACHED: Code

    the endpoint has reached the confidentiality or integrity limit for the AEAD algorithm

    +

    pub const NO_VIABLE_PATH: Code

    no viable network path exists

    +

    pub const APPLICATION_ABANDON_PATH: Code

    Path abandoned at the application’s request

    +

    pub const PATH_RESOURCE_LIMIT_REACHED: Code

    Path abandoned due to resource limitations in the transport

    +

    pub const PATH_UNSTABLE_OR_POOR: Code

    Path abandoned due to unstable interfaces

    +

    pub const NO_CID_AVAILABLE_FOR_PATH: Code

    Path abandoned due to no available connection IDs for the path

    +

    Trait Implementations§

    §

    impl Clone for Code

    §

    fn clone(&self) -> Code

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Code

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Decodable for Code

    §

    fn decode<B>(buf: &mut B) -> Result<Code, UnexpectedEnd>
    where + B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    §

    impl Display for Code

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Encodable for Code

    §

    fn encode<B>(&self, buf: &mut B)
    where + B: BufMut,

    Append the encoding of self to the provided buffer.
    §

    impl From<Code> for VarInt

    §

    fn from(value: Code) -> VarInt

    Converts to this type from the input type.
    §

    impl From<VarInt> for Code

    §

    fn from(value: VarInt) -> Code

    Converts to this type from the input type.
    §

    impl PartialEq for Code

    §

    fn eq(&self, other: &Code) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Copy for Code

    §

    impl Eq for Code

    §

    impl StructuralPartialEq for Code

    Auto Trait Implementations§

    §

    impl Freeze for Code

    §

    impl RefUnwindSafe for Code

    §

    impl Send for Code

    §

    impl Sync for Code

    §

    impl Unpin for Code

    §

    impl UnwindSafe for Code

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.UdpStats.html b/pr/547/docs/noq/struct.UdpStats.html index e8ef7eba8..f4655db1e 100644 --- a/pr/547/docs/noq/struct.UdpStats.html +++ b/pr/547/docs/noq/struct.UdpStats.html @@ -1,4 +1,4 @@ -UdpStats in noq - Rust

    UdpStats

    Struct UdpStats 

    Source
    #[non_exhaustive]
    pub struct UdpStats { +UdpStats in noq - Rust

    UdpStats

    Struct UdpStats 

    #[non_exhaustive]
    pub struct UdpStats { pub datagrams: u64, pub bytes: u64, pub ios: u64, @@ -9,8 +9,8 @@ on a connection.

    §bytes: u64

    The total amount of bytes which have been transferred inside UDP datagrams.

    §ios: u64

    The number of I/O operations executed.

    Can be less than datagrams when GSO, GRO, and/or batched system calls are in use.

    -

    Trait Implementations§

    Source§

    impl Add for UdpStats

    Source§

    type Output = UdpStats

    The resulting type after applying the + operator.
    Source§

    fn add(self, __rhs: UdpStats) -> <UdpStats as Add>::Output

    Performs the + operation. Read more
    Source§

    impl AddAssign for UdpStats

    Source§

    fn add_assign(&mut self, __rhs: UdpStats)

    Performs the += operation. Read more
    Source§

    impl Clone for UdpStats

    Source§

    fn clone(&self) -> UdpStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for UdpStats

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for UdpStats

    Source§

    fn default() -> UdpStats

    Returns the “default value” for a type. Read more
    Source§

    impl PartialEq for UdpStats

    Source§

    fn eq(&self, other: &UdpStats) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Copy for UdpStats

    Source§

    impl Eq for UdpStats

    Source§

    impl StructuralPartialEq for UdpStats

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Add for UdpStats

    §

    type Output = UdpStats

    The resulting type after applying the + operator.
    §

    fn add(self, __rhs: UdpStats) -> <UdpStats as Add>::Output

    Performs the + operation. Read more
    §

    impl AddAssign for UdpStats

    §

    fn add_assign(&mut self, __rhs: UdpStats)

    Performs the += operation. Read more
    §

    impl Clone for UdpStats

    §

    fn clone(&self) -> UdpStats

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for UdpStats

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for UdpStats

    §

    fn default() -> UdpStats

    Returns the “default value” for a type. Read more
    §

    impl PartialEq for UdpStats

    §

    fn eq(&self, other: &UdpStats) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Copy for UdpStats

    §

    impl Eq for UdpStats

    §

    impl StructuralPartialEq for UdpStats

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.ValidationTokenConfig.html b/pr/547/docs/noq/struct.ValidationTokenConfig.html index d9ef92094..7282bf423 100644 --- a/pr/547/docs/noq/struct.ValidationTokenConfig.html +++ b/pr/547/docs/noq/struct.ValidationTokenConfig.html @@ -1,4 +1,4 @@ -ValidationTokenConfig in noq - Rust

    ValidationTokenConfig

    Struct ValidationTokenConfig 

    Source
    pub struct ValidationTokenConfig { /* private fields */ }
    Expand description

    Configuration for sending and handling validation tokens in incoming connections

    +ValidationTokenConfig in noq - Rust

    ValidationTokenConfig

    Struct ValidationTokenConfig 

    pub struct ValidationTokenConfig { /* private fields */ }
    Expand description

    Configuration for sending and handling validation tokens in incoming connections

    Default values should be suitable for most internet applications.

    §QUIC Tokens

    The QUIC protocol defines a concept of “address validation”. Essentially, one side of a @@ -33,20 +33,20 @@ is the main situation where a server might be sending application data to an add be validated by token usage earlier than it would become validated without token usage.

    These tokens should not be confused with “stateless reset tokens,” which are similarly named but entirely unrelated.

    -

    Implementations§

    Source§

    impl ValidationTokenConfig

    Source

    pub fn lifetime(&mut self, value: Duration) -> &mut ValidationTokenConfig

    Duration after an address validation token was issued for which it’s considered valid

    +

    Implementations§

    §

    impl ValidationTokenConfig

    pub fn lifetime(&mut self, value: Duration) -> &mut ValidationTokenConfig

    Duration after an address validation token was issued for which it’s considered valid

    This refers only to tokens sent in NEW_TOKEN frames, in contrast to retry tokens.

    Defaults to 2 weeks.

    -
    Source

    pub fn log(&mut self, log: Arc<dyn TokenLog>) -> &mut ValidationTokenConfig

    Set a custom TokenLog

    +

    pub fn log(&mut self, log: Arc<dyn TokenLog>) -> &mut ValidationTokenConfig

    Set a custom TokenLog

    If the bloom feature is enabled (which it is by default), defaults to a default BloomTokenLog, which is suitable for most internet applications.

    If the bloom feature is disabled, defaults to NoneTokenLog, which makes the server ignore all address validation tokens (that is, tokens originating from NEW_TOKEN frames–retry tokens are not affected).

    -
    Source

    pub fn sent(&mut self, value: u32) -> &mut ValidationTokenConfig

    Number of address validation tokens sent to a client when its path is validated

    +

    pub fn sent(&mut self, value: u32) -> &mut ValidationTokenConfig

    Number of address validation tokens sent to a client when its path is validated

    This refers only to tokens sent in NEW_TOKEN frames, in contrast to retry tokens.

    If the bloom feature is enabled (which it is by default), defaults to 2. Otherwise, defaults to 0.

    -

    Trait Implementations§

    Source§

    impl Clone for ValidationTokenConfig

    Source§

    fn clone(&self) -> ValidationTokenConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ValidationTokenConfig

    Source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for ValidationTokenConfig

    Source§

    fn default() -> ValidationTokenConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for ValidationTokenConfig

    §

    fn clone(&self) -> ValidationTokenConfig

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for ValidationTokenConfig

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for ValidationTokenConfig

    §

    fn default() -> ValidationTokenConfig

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.VarInt.html b/pr/547/docs/noq/struct.VarInt.html index 2aa2930e0..32f20eb1d 100644 --- a/pr/547/docs/noq/struct.VarInt.html +++ b/pr/547/docs/noq/struct.VarInt.html @@ -1,36 +1,36 @@ -VarInt in noq - Rust

    VarInt

    Struct VarInt 

    Source
    pub struct VarInt(/* private fields */);
    Expand description

    An integer less than 2^62

    +VarInt in noq - Rust

    VarInt

    Struct VarInt 

    pub struct VarInt(/* private fields */);
    Expand description

    An integer less than 2^62

    Values of this type are suitable for encoding as QUIC variable-length integer.

    -

    Implementations§

    Source§

    impl VarInt

    Source

    pub const MAX: VarInt

    The largest representable value

    -
    Source

    pub const MAX_SIZE: usize = 8usize

    The largest encoded value length

    -
    Source

    pub const fn from_u32(x: u32) -> VarInt

    Construct a VarInt infallibly

    -
    Source

    pub fn from_u64(x: u64) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    -
    Source

    pub const unsafe fn from_u64_unchecked(x: u64) -> VarInt

    Create a VarInt without ensuring it’s in range

    +

    Implementations§

    §

    impl VarInt

    pub const MAX: VarInt

    The largest representable value

    +

    pub const MAX_SIZE: usize = 8usize

    The largest encoded value length

    +

    pub const fn from_u32(x: u32) -> VarInt

    Construct a VarInt infallibly

    +

    pub fn from_u64(x: u64) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    +

    pub const unsafe fn from_u64_unchecked(x: u64) -> VarInt

    Create a VarInt without ensuring it’s in range

    §Safety

    x must be less than 2^62.

    -
    Source

    pub const fn into_inner(self) -> u64

    Extract the integer value

    -
    Source

    pub fn saturating_add(self, rhs: impl Into<VarInt>) -> VarInt

    Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead +

    pub const fn into_inner(self) -> u64

    Extract the integer value

    +

    pub fn saturating_add(self, rhs: impl Into<VarInt>) -> VarInt

    Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead of overflowing.

    -

    Trait Implementations§

    Source§

    impl<'arbitrary> Arbitrary<'arbitrary> for VarInt

    Source§

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<VarInt, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    §

    fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>

    Generate an arbitrary value of Self from the entirety of the given +

    Trait Implementations§

    §

    impl<'arbitrary> Arbitrary<'arbitrary> for VarInt

    §

    fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<VarInt, Error>

    Generate an arbitrary value of Self from the given unstructured data. Read more
    §

    fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>

    Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
    §

    fn size_hint(depth: usize) -> (usize, Option<usize>)

    Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
    §

    fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

    Get a size hint for how many bytes out of an Unstructured this type -needs to construct itself. Read more
    Source§

    impl Clone for VarInt

    Source§

    fn clone(&self) -> VarInt

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for VarInt

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Decodable for VarInt

    Source§

    fn decode<B>(r: &mut B) -> Result<VarInt, UnexpectedEnd>
    where - B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    Source§

    impl Default for VarInt

    Source§

    fn default() -> VarInt

    Returns the “default value” for a type. Read more
    Source§

    impl Display for VarInt

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Encodable for VarInt

    Source§

    fn encode<B>(&self, w: &mut B)
    where - B: BufMut,

    Append the encoding of self to the provided buffer.
    Source§

    impl From<StreamId> for VarInt

    Source§

    fn from(x: StreamId) -> VarInt

    Converts to this type from the input type.
    Source§

    impl From<Code> for VarInt

    Source§

    fn from(value: Code) -> VarInt

    Converts to this type from the input type.
    Source§

    impl From<VarInt> for IdleTimeout

    Source§

    fn from(inner: VarInt) -> IdleTimeout

    Converts to this type from the input type.
    Source§

    impl From<VarInt> for StreamId

    Source§

    fn from(v: VarInt) -> StreamId

    Converts to this type from the input type.
    Source§

    impl From<VarInt> for Code

    Source§

    fn from(value: VarInt) -> Code

    Converts to this type from the input type.
    Source§

    impl From<u16> for VarInt

    Source§

    fn from(x: u16) -> VarInt

    Converts to this type from the input type.
    Source§

    impl From<u32> for VarInt

    Source§

    fn from(x: u32) -> VarInt

    Converts to this type from the input type.
    Source§

    impl From<u8> for VarInt

    Source§

    fn from(x: u8) -> VarInt

    Converts to this type from the input type.
    Source§

    impl Hash for VarInt

    Source§

    fn hash<__H>(&self, state: &mut __H)
    where +needs to construct itself. Read more

    §

    impl Clone for VarInt

    §

    fn clone(&self) -> VarInt

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for VarInt

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Decodable for VarInt

    §

    fn decode<B>(r: &mut B) -> Result<VarInt, UnexpectedEnd>
    where + B: Buf,

    Decode a Self from the provided buffer, if the buffer is large enough
    §

    impl Default for VarInt

    §

    fn default() -> VarInt

    Returns the “default value” for a type. Read more
    §

    impl Display for VarInt

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Encodable for VarInt

    §

    fn encode<B>(&self, w: &mut B)
    where + B: BufMut,

    Append the encoding of self to the provided buffer.
    §

    impl From<StreamId> for VarInt

    §

    fn from(x: StreamId) -> VarInt

    Converts to this type from the input type.
    §

    impl From<Code> for VarInt

    §

    fn from(value: Code) -> VarInt

    Converts to this type from the input type.
    §

    impl From<VarInt> for IdleTimeout

    §

    fn from(inner: VarInt) -> IdleTimeout

    Converts to this type from the input type.
    §

    impl From<VarInt> for StreamId

    §

    fn from(v: VarInt) -> StreamId

    Converts to this type from the input type.
    §

    impl From<VarInt> for Code

    §

    fn from(value: VarInt) -> Code

    Converts to this type from the input type.
    §

    impl From<u16> for VarInt

    §

    fn from(x: u16) -> VarInt

    Converts to this type from the input type.
    §

    impl From<u32> for VarInt

    §

    fn from(x: u32) -> VarInt

    Converts to this type from the input type.
    §

    impl From<u8> for VarInt

    §

    fn from(x: u8) -> VarInt

    Converts to this type from the input type.
    §

    impl Hash for VarInt

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · Source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    Source§

    impl Ord for VarInt

    Source§

    fn cmp(&self, other: &VarInt) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Ord for VarInt

    §

    fn cmp(&self, other: &VarInt) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · Source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · Source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · Source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    Source§

    impl PartialEq for VarInt

    Source§

    fn eq(&self, other: &VarInt) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl PartialOrd for VarInt

    Source§

    fn partial_cmp(&self, other: &VarInt) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more
    §

    impl PartialEq for VarInt

    §

    fn eq(&self, other: &VarInt) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl PartialOrd for VarInt

    §

    fn partial_cmp(&self, other: &VarInt) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · Source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · Source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    Source§

    impl TryFrom<u128> for VarInt

    Source§

    fn try_from(x: u128) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    -
    Source§

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    Source§

    impl TryFrom<u64> for VarInt

    Source§

    fn try_from(x: u64) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    -
    Source§

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    Source§

    impl TryFrom<usize> for VarInt

    Source§

    fn try_from(x: usize) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    -
    Source§

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    Source§

    impl Copy for VarInt

    Source§

    impl Eq for VarInt

    Source§

    impl StructuralPartialEq for VarInt

    Auto Trait Implementations§

    §

    impl Freeze for VarInt

    §

    impl RefUnwindSafe for VarInt

    §

    impl Send for VarInt

    §

    impl Sync for VarInt

    §

    impl Unpin for VarInt

    §

    impl UnwindSafe for VarInt

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +the >= operator. Read more

    §

    impl TryFrom<u128> for VarInt

    §

    fn try_from(x: u128) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    +
    §

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    §

    impl TryFrom<u64> for VarInt

    §

    fn try_from(x: u64) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    +
    §

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    §

    impl TryFrom<usize> for VarInt

    §

    fn try_from(x: usize) -> Result<VarInt, VarIntBoundsExceeded>

    Succeeds iff x < 2^62

    +
    §

    type Error = VarIntBoundsExceeded

    The type returned in the event of a conversion error.
    §

    impl Copy for VarInt

    §

    impl Eq for VarInt

    §

    impl StructuralPartialEq for VarInt

    Auto Trait Implementations§

    §

    impl Freeze for VarInt

    §

    impl RefUnwindSafe for VarInt

    §

    impl Send for VarInt

    §

    impl Sync for VarInt

    §

    impl Unpin for VarInt

    §

    impl UnwindSafe for VarInt

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.VarIntBoundsExceeded.html b/pr/547/docs/noq/struct.VarIntBoundsExceeded.html index dffcca1f8..e1da14235 100644 --- a/pr/547/docs/noq/struct.VarIntBoundsExceeded.html +++ b/pr/547/docs/noq/struct.VarIntBoundsExceeded.html @@ -1,6 +1,6 @@ -VarIntBoundsExceeded in noq - Rust

    VarIntBoundsExceeded

    Struct VarIntBoundsExceeded 

    Source
    pub struct VarIntBoundsExceeded;
    Expand description

    Error returned when constructing a VarInt from a value >= 2^62

    -

    Trait Implementations§

    Source§

    impl Clone for VarIntBoundsExceeded

    Source§

    fn clone(&self) -> VarIntBoundsExceeded

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for VarIntBoundsExceeded

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Display for VarIntBoundsExceeded

    Source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Error for VarIntBoundsExceeded

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    Source§

    impl From<VarIntBoundsExceeded> for ConfigError

    Source§

    fn from(_: VarIntBoundsExceeded) -> ConfigError

    Converts to this type from the input type.
    Source§

    impl PartialEq for VarIntBoundsExceeded

    Source§

    fn eq(&self, other: &VarIntBoundsExceeded) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Copy for VarIntBoundsExceeded

    Source§

    impl Eq for VarIntBoundsExceeded

    Source§

    impl StructuralPartialEq for VarIntBoundsExceeded

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +VarIntBoundsExceeded in noq - Rust

    VarIntBoundsExceeded

    Struct VarIntBoundsExceeded 

    pub struct VarIntBoundsExceeded;
    Expand description

    Error returned when constructing a VarInt from a value >= 2^62

    +

    Trait Implementations§

    §

    impl Clone for VarIntBoundsExceeded

    §

    fn clone(&self) -> VarIntBoundsExceeded

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for VarIntBoundsExceeded

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for VarIntBoundsExceeded

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for VarIntBoundsExceeded

    1.30.0 · Source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    Returns the lower-level source of this error, if any. Read more
    1.0.0 · Source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · Source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    Source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type-based access to context intended for error reports. Read more
    §

    impl From<VarIntBoundsExceeded> for ConfigError

    §

    fn from(_: VarIntBoundsExceeded) -> ConfigError

    Converts to this type from the input type.
    §

    impl PartialEq for VarIntBoundsExceeded

    §

    fn eq(&self, other: &VarIntBoundsExceeded) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Copy for VarIntBoundsExceeded

    §

    impl Eq for VarIntBoundsExceeded

    §

    impl StructuralPartialEq for VarIntBoundsExceeded

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/struct.Written.html b/pr/547/docs/noq/struct.Written.html index 7109bfe1f..378fab745 100644 --- a/pr/547/docs/noq/struct.Written.html +++ b/pr/547/docs/noq/struct.Written.html @@ -1,12 +1,12 @@ -Written in noq - Rust

    Written

    Struct Written 

    Source
    pub struct Written {
    +Written in noq - Rust

    Written

    Struct Written 

    pub struct Written {
         pub bytes: usize,
         pub chunks: usize,
     }
    Expand description

    Indicates how many bytes and chunks had been transferred in a write operation

    Fields§

    §bytes: usize

    The amount of bytes which had been written

    §chunks: usize

    The amount of full chunks which had been written

    If a chunk was only partially written, it will not be counted by this field.

    -

    Trait Implementations§

    Source§

    impl Clone for Written

    Source§

    fn clone(&self) -> Written

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Written

    Source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    Source§

    impl Default for Written

    Source§

    fn default() -> Written

    Returns the “default value” for a type. Read more
    Source§

    impl PartialEq for Written

    Source§

    fn eq(&self, other: &Written) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    Source§

    impl Copy for Written

    Source§

    impl Eq for Written

    Source§

    impl StructuralPartialEq for Written

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    §

    impl Clone for Written

    §

    fn clone(&self) -> Written

    Returns a duplicate of the value. Read more
    1.0.0 · Source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Written

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Written

    §

    fn default() -> Written

    Returns the “default value” for a type. Read more
    §

    impl PartialEq for Written

    §

    fn eq(&self, other: &Written) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    §

    impl Copy for Written

    §

    impl Eq for Written

    §

    impl StructuralPartialEq for Written

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    Source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/pr/547/docs/noq/trait.ConnectionIdGenerator.html b/pr/547/docs/noq/trait.ConnectionIdGenerator.html index 04eb50827..6dfcaec63 100644 --- a/pr/547/docs/noq/trait.ConnectionIdGenerator.html +++ b/pr/547/docs/noq/trait.ConnectionIdGenerator.html @@ -1,4 +1,4 @@ -ConnectionIdGenerator in noq - Rust

    ConnectionIdGenerator

    Trait ConnectionIdGenerator 

    Source
    pub trait ConnectionIdGenerator: Send + Sync {
    +ConnectionIdGenerator in noq - Rust

    ConnectionIdGenerator

    Trait ConnectionIdGenerator 

    pub trait ConnectionIdGenerator: Send + Sync {
         // Required methods
         fn generate_cid(&mut self) -> ConnectionId;
         fn cid_len(&self) -> usize;
    @@ -7,15 +7,15 @@
         // Provided method
         fn validate(&self, _cid: ConnectionId) -> Result<(), InvalidCid> { ... }
     }
    Expand description

    Generates connection IDs for incoming connections

    -

    Required Methods§

    Source

    fn generate_cid(&mut self) -> ConnectionId

    Generates a new CID

    +

    Required Methods§

    fn generate_cid(&mut self) -> ConnectionId

    Generates a new CID

    Connection IDs MUST NOT contain any information that can be used by an external observer (that is, one that does not cooperate with the issuer) to correlate them with other connection IDs for the same connection. They MUST have high entropy, e.g. due to encrypted data or cryptographic-grade random data.

    -
    Source

    fn cid_len(&self) -> usize

    Returns the length of a CID for connections created by this generator

    -
    Source

    fn cid_lifetime(&self) -> Option<Duration>

    Returns the lifetime of generated Connection IDs

    +

    fn cid_len(&self) -> usize

    Returns the length of a CID for connections created by this generator

    +

    fn cid_lifetime(&self) -> Option<Duration>

    Returns the lifetime of generated Connection IDs

    Connection IDs will be retired after the returned Duration, if any. Assumed to be constant.

    -

    Provided Methods§

    Source

    fn validate(&self, _cid: ConnectionId) -> Result<(), InvalidCid>

    Quickly determine whether cid could have been generated by this generator

    +

    Provided Methods§

    fn validate(&self, _cid: ConnectionId) -> Result<(), InvalidCid>

    Quickly determine whether cid could have been generated by this generator

    False positives are permitted, but increase the cost of handling invalid packets.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    §

    impl ConnectionIdGenerator for HashedConnectionIdGenerator

    §

    impl ConnectionIdGenerator for RandomConnectionIdGenerator

    \ No newline at end of file diff --git a/pr/547/docs/noq/trait.NetworkChangeHint.html b/pr/547/docs/noq/trait.NetworkChangeHint.html index 035ebf574..2bb5057cb 100644 --- a/pr/547/docs/noq/trait.NetworkChangeHint.html +++ b/pr/547/docs/noq/trait.NetworkChangeHint.html @@ -1,12 +1,12 @@ -NetworkChangeHint in noq - Rust

    NetworkChangeHint

    Trait NetworkChangeHint 

    Source
    pub trait NetworkChangeHint: Debug + 'static {
    +NetworkChangeHint in noq - Rust

    NetworkChangeHint

    Trait NetworkChangeHint 

    pub trait NetworkChangeHint: Debug + 'static {
         // Required method
         fn is_path_recoverable(
             &self,
             path_id: PathId,
    -        network_path: FourTuple,
    +        network_path: FourTuple,
         ) -> bool;
     }
    Expand description

    Hints when the caller identifies a network change.

    -

    Required Methods§

    Source

    fn is_path_recoverable(&self, path_id: PathId, network_path: FourTuple) -> bool

    Inform the connection if a path may recover after a network change.

    +

    Required Methods§

    fn is_path_recoverable(&self, path_id: PathId, network_path: FourTuple) -> bool

    Inform the connection if a path may recover after a network change.

    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 Self::is_path_recoverable returns false, a multipath-enabled, client-side connection will establish a new path to diff --git a/pr/547/docs/noq/trait.QlogFactory.html b/pr/547/docs/noq/trait.QlogFactory.html index ac57dec70..052bab12a 100644 --- a/pr/547/docs/noq/trait.QlogFactory.html +++ b/pr/547/docs/noq/trait.QlogFactory.html @@ -1,4 +1,4 @@ -QlogFactory in noq - Rust

    QlogFactory

    Trait QlogFactory 

    Source
    pub trait QlogFactory:
    +QlogFactory in noq - Rust

    QlogFactory

    Trait QlogFactory 

    pub trait QlogFactory:
         Send
         + Sync
         + 'static {
    @@ -12,7 +12,7 @@
         ) -> Option<QlogConfig>;
     }
    Expand description

    Constructs a QlogConfig for individual connections.

    This is set via TransportConfig::qlog_factory.

    -

    Required Methods§

    Required Methods§

    fn for_connection( &self, side: Side, remote: SocketAddr, @@ -20,4 +20,4 @@ now: Instant, ) -> Option<QlogConfig>

    Returns a QlogConfig for a connection, if logging should be enabled.

    If None is returned, qlog capture is disabled for the connection.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/trait.TimeSource.html b/pr/547/docs/noq/trait.TimeSource.html index 2869c06bb..e8d89af23 100644 --- a/pr/547/docs/noq/trait.TimeSource.html +++ b/pr/547/docs/noq/trait.TimeSource.html @@ -1,7 +1,7 @@ -TimeSource in noq - Rust

    TimeSource

    Trait TimeSource 

    Source
    pub trait TimeSource: Send + Sync {
    +TimeSource in noq - Rust

    TimeSource

    Trait TimeSource 

    pub trait TimeSource: Send + Sync {
         // Required method
         fn now(&self) -> SystemTime;
     }
    Expand description

    Object to get current SystemTime

    This exists to allow system time to be mocked in tests, or wherever else desired.

    -

    Required Methods§

    Source

    fn now(&self) -> SystemTime

    Get SystemTime::now() or the mocked equivalent

    -

    Implementors§

    \ No newline at end of file +

    Required Methods§

    fn now(&self) -> SystemTime

    Get SystemTime::now() or the mocked equivalent

    +

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/trait.TokenLog.html b/pr/547/docs/noq/trait.TokenLog.html index 60db43f8c..8073434f1 100644 --- a/pr/547/docs/noq/trait.TokenLog.html +++ b/pr/547/docs/noq/trait.TokenLog.html @@ -1,4 +1,4 @@ -TokenLog in noq - Rust

    TokenLog

    Trait TokenLog 

    Source
    pub trait TokenLog: Send + Sync {
    +TokenLog in noq - Rust

    TokenLog

    Trait TokenLog 

    pub trait TokenLog: Send + Sync {
         // Required method
         fn check_and_insert(
             &self,
    @@ -18,7 +18,7 @@ Servers are encouraged to allow tokens to be used only once, if possible; tokens
     additional information about clients to further narrow applicability or reuse.

    TokenLog pertains only to tokens provided in NEW_TOKEN frames.

    -

    Required Methods§

    Required Methods§

    fn check_and_insert( &self, nonce: u128, issued: SystemTime, @@ -42,4 +42,4 @@ attacks. The QUIC specification requires that this be limited, if not preven vulnerability; it is permissible for a TokenLog to always return Err. A false positive causes the token to be ignored, which may cause the transmission of some 0.5-RTT data to be delayed until the handshake completes, if a sufficient amount of 0.5-RTT data it sent.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/noq/trait.TokenStore.html b/pr/547/docs/noq/trait.TokenStore.html index aff114b1b..f3b2e02f1 100644 --- a/pr/547/docs/noq/trait.TokenStore.html +++ b/pr/547/docs/noq/trait.TokenStore.html @@ -1,13 +1,13 @@ -TokenStore in noq - Rust

    TokenStore

    Trait TokenStore 

    Source
    pub trait TokenStore: Send + Sync {
    +TokenStore in noq - Rust

    TokenStore

    Trait TokenStore 

    pub trait TokenStore: Send + Sync {
         // Required methods
         fn insert(&self, server_name: &str, token: Bytes);
         fn take(&self, server_name: &str) -> Option<Bytes>;
     }
    Expand description

    Responsible for storing validation tokens received from servers and retrieving them for use in subsequent connections

    -

    Required Methods§

    Source

    fn insert(&self, server_name: &str, token: Bytes)

    Potentially store a token for later one-time use

    +

    Required Methods§

    fn insert(&self, server_name: &str, token: Bytes)

    Potentially store a token for later one-time use

    Called when a NEW_TOKEN frame is received from the server.

    -
    Source

    fn take(&self, server_name: &str) -> Option<Bytes>

    Try to find and take a token that was stored with the given server name

    +

    fn take(&self, server_name: &str) -> Option<Bytes>

    Try to find and take a token that was stored with the given server name

    The same token must never be returned from take twice, as doing so can be used to de-anonymize a client’s traffic.

    Called when trying to connect to a server. It is always ok for this to return None.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/pr/547/docs/settings.html b/pr/547/docs/settings.html index abf467830..fc24471ee 100644 --- a/pr/547/docs/settings.html +++ b/pr/547/docs/settings.html @@ -1 +1 @@ -Settings

    All

    Rustdoc settings

    Back
    \ No newline at end of file +Settings

    All

    Rustdoc settings

    Back
    \ No newline at end of file