Expand description
Logic for controlling the rate at which data is sent
+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
Bbrcongestion controller - Controller
Metrics - Common congestion controller metrics
- Cubic
- The RFC8312 congestion controller, as widely used for TCP
- Cubic
Config - Configuration for the
Cubiccongestion controller - NewReno
- A simple, standard congestion controller
- NewReno
Config - Configuration for the
NewRenocongestion controller
Traits§
- Controller
- Common interface for different congestion controllers
- Controller
Factory - Constructs controllers on demand
Bbr
pub struct Bbr { /* private fields */ }Expand description
Experimental! Use at your own risk.
+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§
Trait Implementations§
Source§impl Controller for Bbr
impl Controller for Bbr
Implementations§
Trait Implementations§
§impl Controller for Bbr
impl Controller for Bbr
§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
§fn on_ack(
&mut self,
now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- rtt: &RttEstimator,
-)
fn on_ack( &mut self, now: Instant, sent: Instant, bytes: u64, app_limited: bool, - rtt: &RttEstimator, -)
Source§fn on_end_acks(
+ rtt: &RttEstimator,
+)
fn on_end_acks( + rtt: &RttEstimator, +)
§fn on_end_acks(
&mut self,
now: Instant,
in_flight: u64,
app_limited: bool,
largest_packet_num_acked: Option<u64>,
-)
fn on_end_acks( &mut self, now: Instant, in_flight: u64, app_limited: bool, largest_packet_num_acked: Option<u64>, -)
now argument. This indicates one of those batches has completed.Source§fn on_congestion_event(
+)
fn on_congestion_event( +)
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,
-)
fn on_congestion_event( &mut self, _now: Instant, _sent: Instant, _is_persistent_congestion: bool, _is_ecn: bool, lost_bytes: u64, -)
Source§fn on_mtu_update(&mut self, new_mtu: u16)
fn on_mtu_update(&mut self, new_mtu: u16)
Source§fn metrics(&self) -> ControllerMetrics
fn metrics(&self) -> ControllerMetrics
qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
fn clone_box(&self) -> Box<dyn Controller>
Source§fn initial_window(&self) -> u64
fn initial_window(&self) -> u64
Source§fn into_any(self: Box<Bbr>) -> Box<dyn Any>
fn into_any(self: Box<Bbr>) -> Box<dyn Any>
Source§fn on_spurious_congestion_event(&mut self)
fn on_spurious_congestion_event(&mut self)
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 Twhere
+)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 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<T> Any for Twhere
+)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 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
§fn on_mtu_update(&mut self, new_mtu: u16)
fn on_mtu_update(&mut self, new_mtu: u16)
§fn metrics(&self) -> ControllerMetrics
fn metrics(&self) -> ControllerMetrics
qlog traces when they are enabled§fn clone_box(&self) -> Box<dyn Controller>
fn clone_box(&self) -> Box<dyn Controller>
§fn initial_window(&self) -> u64
fn initial_window(&self) -> u64
§fn into_any(self: Box<Bbr>) -> Box<dyn Any>
fn into_any(self: Box<Bbr>) -> Box<dyn Any>
§fn on_spurious_congestion_event(&mut self)
fn on_spurious_congestion_event(&mut self)
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.BbrConfig.html b/pr/515/docs/noq/congestion/struct.BbrConfig.html
index 174cd3910..e5f2d85a4 100644
--- a/pr/515/docs/noq/congestion/struct.BbrConfig.html
+++ b/pr/515/docs/noq/congestion/struct.BbrConfig.html
@@ -1,11 +1,11 @@
-BbrConfig in noq::congestion - Rust BbrConfig
pub struct BbrConfig { /* private fields */ }
Expand description
Configuration for the Bbr congestion controller
-Implementations§
Source§impl BbrConfig
Sourcepub 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§
Trait Implementations§
Auto Trait Implementations§
§impl Freeze for BbrConfig
§impl RefUnwindSafe for BbrConfig
§impl Send for BbrConfig
§impl Sync for BbrConfig
§impl Unpin for BbrConfig
§impl UnwindSafe for BbrConfig
Blanket Implementations§
Auto Trait Implementations§
§impl Freeze for BbrConfig
§impl RefUnwindSafe for BbrConfig
§impl Send for BbrConfig
§impl Sync for BbrConfig
§impl Unpin for BbrConfig
§impl UnwindSafe for BbrConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
index 1fd285c70..c58de0c3a 100644
--- a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
+++ b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in noq::congestion - Rust ControllerMetrics
#[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: u64Congestion 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§impl Default for ControllerMetrics
Source§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> Any for Twhere
+Trait Implementations§
§impl Debug for ControllerMetrics
§impl Default for ControllerMetrics
§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/congestion/struct.Cubic.html b/pr/515/docs/noq/congestion/struct.Cubic.html
index 860fb3b18..47a4686ad 100644
--- a/pr/515/docs/noq/congestion/struct.Cubic.html
+++ b/pr/515/docs/noq/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in noq::congestion - Rust Cubic
pub struct Cubic { /* private fields */ }
Expand description
The RFC8312 congestion controller, as widely used for TCP
-Implementations§
Trait Implementations§
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§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost Read moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<Cubic>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 detailsAuto 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§
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> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.CubicConfig.html b/pr/515/docs/noq/congestion/struct.CubicConfig.html
index a80cb6bc5..2ef895a9d 100644
--- a/pr/515/docs/noq/congestion/struct.CubicConfig.html
+++ b/pr/515/docs/noq/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in noq::congestion - Rust CubicConfig
pub struct CubicConfig { /* private fields */ }
Expand description
Configuration for the Cubic congestion controller
-Implementations§
Source§impl CubicConfig
Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ControllerFactory for CubicConfig
Trait Implementations§
§impl Clone for CubicConfig
§fn clone(&self) -> CubicConfig
Returns a duplicate of the value. Read more1.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 ControllerSource§impl Debug for CubicConfig
Source§impl Default for CubicConfig
Source§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
§impl Debug for CubicConfig
§impl Default for CubicConfig
§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewReno.html b/pr/515/docs/noq/congestion/struct.NewReno.html
index 93b5448e6..4e4a20ce7 100644
--- a/pr/515/docs/noq/congestion/struct.NewReno.html
+++ b/pr/515/docs/noq/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in noq::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
Source§impl NewReno
Sourcepub fn new(
+NewReno in noq::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<NewReno>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 moreAuto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Auto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
index dba590836..fd8855e4a 100644
--- a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
+++ b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in noq::congestion - Rust NewRenoConfig
pub struct NewRenoConfig { /* private fields */ }
Expand description
Configuration for the NewReno congestion controller
-Implementations§
Source§impl NewRenoConfig
Sourcepub 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))
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§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 more1.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 ControllerSource§impl Debug for NewRenoConfig
Source§impl Default for NewRenoConfig
Source§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
§impl Debug for NewRenoConfig
§impl Default for NewRenoConfig
§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/trait.Controller.html b/pr/515/docs/noq/congestion/trait.Controller.html
index 028a0c13f..f73e6604d 100644
--- a/pr/515/docs/noq/congestion/trait.Controller.html
+++ b/pr/515/docs/noq/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in noq::congestion - Rust Controller
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.
-
Sourcefn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
-Sourcefn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
-Sourcefn initial_window(&self) -> u64
Initial congestion window
-Provided Methods§
fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
+fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
+fn initial_window(&self) -> u64
Initial congestion window
+
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.
-Sourcefn 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.
-Sourcefn 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.
-Sourcefn 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/515/docs/noq/congestion/trait.ControllerFactory.html b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
index e7464de35..93add5e51 100644
--- a/pr/515/docs/noq/congestion/trait.ControllerFactory.html
+++ b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in noq::congestion - Rust ControllerFactory
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§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/515/docs/noq/crypto/index.html b/pr/515/docs/noq/crypto/index.html
index 3266d8e96..fcbfe7a14 100644
--- a/pr/515/docs/noq/crypto/index.html
+++ b/pr/515/docs/noq/crypto/index.html
@@ -1,4 +1,4 @@
-noq::crypto - Rust Module crypto
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/515/docs/noq/crypto/rustls/index.html b/pr/515/docs/noq/crypto/rustls/index.html
index ca1fc066c..9ddd76feb 100644
--- a/pr/515/docs/noq/crypto/rustls/index.html
+++ b/pr/515/docs/noq/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
noq::crypto::rustls - Rust Module rustls
Expand description
TLS interface based on rustls
+noq::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
Structs§
- Handshake
Data - Authentication data for (rustls) TLS session
- NoInitial
CipherSuite - The initial cipher suite (AES-128-GCM-SHA256) is not available
- Quic
ClientConfig - A QUIC-compatible TLS client configuration
- Quic
ServerConfig - 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/515/docs/noq/crypto/rustls/struct.HandshakeData.html b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
index 3de1fa217..5cd6d846a 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in noq::crypto::rustls - Rust HandshakeData
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/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
index 0a68f632f..d68d484be 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in noq::crypto::rustls - Rust NoInitialCipherSuite
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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl Debug for NoInitialCipherSuite
Source§impl Display for NoInitialCipherSuite
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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Trait Implementations§
§impl Clone for NoInitialCipherSuite
§fn clone(&self) -> NoInitialCipherSuite
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more§impl Debug for NoInitialCipherSuite
§impl Display for NoInitialCipherSuite
§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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
index e3b9c6f62..a9ecb7aad 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in noq::crypto::rustls - Rust QuicClientConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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
Source§fn start_session(
+
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 configurationSource§impl Clone for QuicClientConfig
Source§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§impl Clone for QuicClientConfig
§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.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§
§impl Freeze for QuicClientConfig
§impl !RefUnwindSafe for QuicClientConfig
§impl Send for QuicClientConfig
§impl Sync for QuicClientConfig
§impl Unpin for QuicClientConfig
§impl !UnwindSafe for QuicClientConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
index 0233a8dbd..7af964361 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in noq::crypto::rustls - Rust QuicServerConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ServerConfig for QuicServerConfig
Source§fn start_session(
+
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 more1.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 moreSource§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 ConnectionIdSource§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
§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§
§impl Freeze for QuicServerConfig
§impl !RefUnwindSafe for QuicServerConfig
§impl Send for QuicServerConfig
§impl Sync for QuicServerConfig
§impl Unpin for QuicServerConfig
§impl !UnwindSafe for QuicServerConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
index a093d41d6..bf4416247 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in noq::crypto::rustls - Rust TlsSession
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 ConnectionIdSource§fn handshake_data(&self) -> Option<Box<dyn Any>>
Get data negotiated during the handshake, if available Read moreSource§fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>
Get the 0-RTT keys if available (clients only) Read moreSource§fn early_data_accepted(&self) -> Option<bool>
If the 0-RTT-encrypted data has been accepted by the peerSource§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 moreSource§fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>
The peer’s QUIC transport parameters Read moreSource§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 moreSource§fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>
Compute keys for the next key updateSource§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 moreSource§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/515/docs/noq/crypto/struct.CryptoError.html b/pr/515/docs/noq/crypto/struct.CryptoError.html
index 5d6945444..f1f762912 100644
--- a/pr/515/docs/noq/crypto/struct.CryptoError.html
+++ b/pr/515/docs/noq/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in noq::crypto - Rust CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
-Trait Implementations§
Source§impl Debug for CryptoError
Source§impl From<Unspecified> for CryptoError
Source§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> Any for Twhere
+CryptoError in noq::crypto - Rust CryptoError
Struct CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
+Trait Implementations§
§impl Debug for CryptoError
§impl From<Unspecified> for CryptoError
§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
index 95635cc39..52571f85c 100644
--- a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in noq::crypto - Rust ExportKeyingMaterialError
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§impl Eq for ExportKeyingMaterialError
Source§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Trait Implementations§
§impl Debug for ExportKeyingMaterialError
§impl PartialEq for ExportKeyingMaterialError
§impl Eq for ExportKeyingMaterialError
§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<Q, K> Equivalent<K> for Qwhere
diff --git a/pr/515/docs/noq/crypto/struct.KeyPair.html b/pr/515/docs/noq/crypto/struct.KeyPair.html
index 8206dd365..8c45befe8 100644
--- a/pr/515/docs/noq/crypto/struct.KeyPair.html
+++ b/pr/515/docs/noq/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in noq::crypto - Rust KeyPair
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/515/docs/noq/crypto/struct.Keys.html b/pr/515/docs/noq/crypto/struct.Keys.html
index e39f252a5..19dd2bff3 100644
--- a/pr/515/docs/noq/crypto/struct.Keys.html
+++ b/pr/515/docs/noq/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in noq::crypto - Rust Keys
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/515/docs/noq/crypto/struct.UnsupportedVersion.html b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
index 5686c151a..c06386448 100644
--- a/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
+++ b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
Source§impl Debug for UnsupportedVersion
Source§impl From<UnsupportedVersion> for ConnectError
Source§fn from(_: UnsupportedVersion) -> ConnectError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for UnsupportedVersion
§impl RefUnwindSafe for UnsupportedVersion
§impl Send for UnsupportedVersion
§impl Sync for UnsupportedVersion
§impl Unpin for UnsupportedVersion
§impl UnwindSafe for UnsupportedVersion
Blanket Implementations§
Source§impl<T> Any for Twhere
+UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.BbrConfig.html b/pr/515/docs/noq/congestion/struct.BbrConfig.html
index 174cd3910..e5f2d85a4 100644
--- a/pr/515/docs/noq/congestion/struct.BbrConfig.html
+++ b/pr/515/docs/noq/congestion/struct.BbrConfig.html
@@ -1,11 +1,11 @@
-BbrConfig in noq::congestion - Rust BbrConfig
pub struct BbrConfig { /* private fields */ }
Expand description
Configuration for the Bbr congestion controller
-Implementations§
Source§impl BbrConfig
Sourcepub 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§
Trait Implementations§
Auto Trait Implementations§
§impl Freeze for BbrConfig
§impl RefUnwindSafe for BbrConfig
§impl Send for BbrConfig
§impl Sync for BbrConfig
§impl Unpin for BbrConfig
§impl UnwindSafe for BbrConfig
Blanket Implementations§
Auto Trait Implementations§
§impl Freeze for BbrConfig
§impl RefUnwindSafe for BbrConfig
§impl Send for BbrConfig
§impl Sync for BbrConfig
§impl Unpin for BbrConfig
§impl UnwindSafe for BbrConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
index 1fd285c70..c58de0c3a 100644
--- a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
+++ b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in noq::congestion - Rust ControllerMetrics
#[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: u64Congestion 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§impl Default for ControllerMetrics
Source§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> Any for Twhere
+Trait Implementations§
§impl Debug for ControllerMetrics
§impl Default for ControllerMetrics
§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/congestion/struct.Cubic.html b/pr/515/docs/noq/congestion/struct.Cubic.html
index 860fb3b18..47a4686ad 100644
--- a/pr/515/docs/noq/congestion/struct.Cubic.html
+++ b/pr/515/docs/noq/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in noq::congestion - Rust Cubic
pub struct Cubic { /* private fields */ }
Expand description
The RFC8312 congestion controller, as widely used for TCP
-Implementations§
Trait Implementations§
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§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost Read moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<Cubic>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 detailsAuto 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§
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> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.CubicConfig.html b/pr/515/docs/noq/congestion/struct.CubicConfig.html
index a80cb6bc5..2ef895a9d 100644
--- a/pr/515/docs/noq/congestion/struct.CubicConfig.html
+++ b/pr/515/docs/noq/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in noq::congestion - Rust CubicConfig
pub struct CubicConfig { /* private fields */ }
Expand description
Configuration for the Cubic congestion controller
-Implementations§
Source§impl CubicConfig
Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ControllerFactory for CubicConfig
Trait Implementations§
§impl Clone for CubicConfig
§fn clone(&self) -> CubicConfig
Returns a duplicate of the value. Read more1.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 ControllerSource§impl Debug for CubicConfig
Source§impl Default for CubicConfig
Source§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
§impl Debug for CubicConfig
§impl Default for CubicConfig
§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewReno.html b/pr/515/docs/noq/congestion/struct.NewReno.html
index 93b5448e6..4e4a20ce7 100644
--- a/pr/515/docs/noq/congestion/struct.NewReno.html
+++ b/pr/515/docs/noq/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in noq::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
Source§impl NewReno
Sourcepub fn new(
+NewReno in noq::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<NewReno>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 moreAuto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Auto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
index dba590836..fd8855e4a 100644
--- a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
+++ b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in noq::congestion - Rust NewRenoConfig
pub struct NewRenoConfig { /* private fields */ }
Expand description
Configuration for the NewReno congestion controller
-Implementations§
Source§impl NewRenoConfig
Sourcepub 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))
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§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 more1.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 ControllerSource§impl Debug for NewRenoConfig
Source§impl Default for NewRenoConfig
Source§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
§impl Debug for NewRenoConfig
§impl Default for NewRenoConfig
§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/trait.Controller.html b/pr/515/docs/noq/congestion/trait.Controller.html
index 028a0c13f..f73e6604d 100644
--- a/pr/515/docs/noq/congestion/trait.Controller.html
+++ b/pr/515/docs/noq/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in noq::congestion - Rust Controller
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.
-
Sourcefn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
-Sourcefn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
-Sourcefn initial_window(&self) -> u64
Initial congestion window
-Provided Methods§
fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
+fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
+fn initial_window(&self) -> u64
Initial congestion window
+
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.
-Sourcefn 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.
-Sourcefn 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.
-Sourcefn 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/515/docs/noq/congestion/trait.ControllerFactory.html b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
index e7464de35..93add5e51 100644
--- a/pr/515/docs/noq/congestion/trait.ControllerFactory.html
+++ b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in noq::congestion - Rust ControllerFactory
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§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/515/docs/noq/crypto/index.html b/pr/515/docs/noq/crypto/index.html
index 3266d8e96..fcbfe7a14 100644
--- a/pr/515/docs/noq/crypto/index.html
+++ b/pr/515/docs/noq/crypto/index.html
@@ -1,4 +1,4 @@
-noq::crypto - Rust Module crypto
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/515/docs/noq/crypto/rustls/index.html b/pr/515/docs/noq/crypto/rustls/index.html
index ca1fc066c..9ddd76feb 100644
--- a/pr/515/docs/noq/crypto/rustls/index.html
+++ b/pr/515/docs/noq/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
noq::crypto::rustls - Rust Module rustls
Expand description
TLS interface based on rustls
+noq::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
Structs§
- Handshake
Data - Authentication data for (rustls) TLS session
- NoInitial
CipherSuite - The initial cipher suite (AES-128-GCM-SHA256) is not available
- Quic
ClientConfig - A QUIC-compatible TLS client configuration
- Quic
ServerConfig - 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/515/docs/noq/crypto/rustls/struct.HandshakeData.html b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
index 3de1fa217..5cd6d846a 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in noq::crypto::rustls - Rust HandshakeData
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/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
index 0a68f632f..d68d484be 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in noq::crypto::rustls - Rust NoInitialCipherSuite
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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl Debug for NoInitialCipherSuite
Source§impl Display for NoInitialCipherSuite
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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Trait Implementations§
§impl Clone for NoInitialCipherSuite
§fn clone(&self) -> NoInitialCipherSuite
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more§impl Debug for NoInitialCipherSuite
§impl Display for NoInitialCipherSuite
§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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
index e3b9c6f62..a9ecb7aad 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in noq::crypto::rustls - Rust QuicClientConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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
Source§fn start_session(
+
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 configurationSource§impl Clone for QuicClientConfig
Source§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§impl Clone for QuicClientConfig
§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.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§
§impl Freeze for QuicClientConfig
§impl !RefUnwindSafe for QuicClientConfig
§impl Send for QuicClientConfig
§impl Sync for QuicClientConfig
§impl Unpin for QuicClientConfig
§impl !UnwindSafe for QuicClientConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
index 0233a8dbd..7af964361 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in noq::crypto::rustls - Rust QuicServerConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ServerConfig for QuicServerConfig
Source§fn start_session(
+
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 more1.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 moreSource§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 ConnectionIdSource§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
§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§
§impl Freeze for QuicServerConfig
§impl !RefUnwindSafe for QuicServerConfig
§impl Send for QuicServerConfig
§impl Sync for QuicServerConfig
§impl Unpin for QuicServerConfig
§impl !UnwindSafe for QuicServerConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
index a093d41d6..bf4416247 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in noq::crypto::rustls - Rust TlsSession
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 ConnectionIdSource§fn handshake_data(&self) -> Option<Box<dyn Any>>
Get data negotiated during the handshake, if available Read moreSource§fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>
Get the 0-RTT keys if available (clients only) Read moreSource§fn early_data_accepted(&self) -> Option<bool>
If the 0-RTT-encrypted data has been accepted by the peerSource§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 moreSource§fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>
The peer’s QUIC transport parameters Read moreSource§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 moreSource§fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>
Compute keys for the next key updateSource§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 moreSource§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/515/docs/noq/crypto/struct.CryptoError.html b/pr/515/docs/noq/crypto/struct.CryptoError.html
index 5d6945444..f1f762912 100644
--- a/pr/515/docs/noq/crypto/struct.CryptoError.html
+++ b/pr/515/docs/noq/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in noq::crypto - Rust CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
-Trait Implementations§
Source§impl Debug for CryptoError
Source§impl From<Unspecified> for CryptoError
Source§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> Any for Twhere
+CryptoError in noq::crypto - Rust CryptoError
Struct CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
+Trait Implementations§
§impl Debug for CryptoError
§impl From<Unspecified> for CryptoError
§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
index 95635cc39..52571f85c 100644
--- a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in noq::crypto - Rust ExportKeyingMaterialError
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§impl Eq for ExportKeyingMaterialError
Source§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Trait Implementations§
§impl Debug for ExportKeyingMaterialError
§impl PartialEq for ExportKeyingMaterialError
§impl Eq for ExportKeyingMaterialError
§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<Q, K> Equivalent<K> for Qwhere
diff --git a/pr/515/docs/noq/crypto/struct.KeyPair.html b/pr/515/docs/noq/crypto/struct.KeyPair.html
index 8206dd365..8c45befe8 100644
--- a/pr/515/docs/noq/crypto/struct.KeyPair.html
+++ b/pr/515/docs/noq/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in noq::crypto - Rust KeyPair
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/515/docs/noq/crypto/struct.Keys.html b/pr/515/docs/noq/crypto/struct.Keys.html
index e39f252a5..19dd2bff3 100644
--- a/pr/515/docs/noq/crypto/struct.Keys.html
+++ b/pr/515/docs/noq/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in noq::crypto - Rust Keys
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/515/docs/noq/crypto/struct.UnsupportedVersion.html b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
index 5686c151a..c06386448 100644
--- a/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
+++ b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
Source§impl Debug for UnsupportedVersion
Source§impl From<UnsupportedVersion> for ConnectError
Source§fn from(_: UnsupportedVersion) -> ConnectError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for UnsupportedVersion
§impl RefUnwindSafe for UnsupportedVersion
§impl Send for UnsupportedVersion
§impl Sync for UnsupportedVersion
§impl Unpin for UnsupportedVersion
§impl UnwindSafe for UnsupportedVersion
Blanket Implementations§
Source§impl<T> Any for Twhere
+UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
BbrConfig
pub struct BbrConfig { /* private fields */ }Expand description
Configuration for the Bbr congestion controller
Implementations§
Source§impl BbrConfig
impl BbrConfig
Sourcepub fn initial_window(&mut self, value: u64) -> &mut BbrConfig
pub fn initial_window(&mut self, value: u64) -> &mut BbrConfig
Default limit on the amount of outstanding data in bytes.
+BbrConfig
Struct BbrConfig
pub struct BbrConfig { /* private fields */ }Expand description
Configuration for the Bbr congestion controller
Implementations§
§impl BbrConfig
impl BbrConfig
pub fn initial_window(&mut self, value: u64) -> &mut 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§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BbrConfig
impl RefUnwindSafe for BbrConfig
impl Send for BbrConfig
impl Sync for BbrConfig
impl Unpin for BbrConfig
impl UnwindSafe for BbrConfig
Blanket Implementations§
Auto Trait Implementations§
impl Freeze for BbrConfig
impl RefUnwindSafe for BbrConfig
impl Send for BbrConfig
impl Sync for BbrConfig
impl Unpin for BbrConfig
impl UnwindSafe for BbrConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
index 1fd285c70..c58de0c3a 100644
--- a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
+++ b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in noq::congestion - Rust ControllerMetrics
#[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: u64Congestion 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§impl Default for ControllerMetrics
Source§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> Any for Twhere
+Trait Implementations§
§impl Debug for ControllerMetrics
§impl Default for ControllerMetrics
§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/congestion/struct.Cubic.html b/pr/515/docs/noq/congestion/struct.Cubic.html
index 860fb3b18..47a4686ad 100644
--- a/pr/515/docs/noq/congestion/struct.Cubic.html
+++ b/pr/515/docs/noq/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in noq::congestion - Rust Cubic
pub struct Cubic { /* private fields */ }
Expand description
The RFC8312 congestion controller, as widely used for TCP
-Implementations§
Trait Implementations§
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§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost Read moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<Cubic>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 detailsAuto 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§
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> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.CubicConfig.html b/pr/515/docs/noq/congestion/struct.CubicConfig.html
index a80cb6bc5..2ef895a9d 100644
--- a/pr/515/docs/noq/congestion/struct.CubicConfig.html
+++ b/pr/515/docs/noq/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in noq::congestion - Rust CubicConfig
pub struct CubicConfig { /* private fields */ }
Expand description
Configuration for the Cubic congestion controller
-Implementations§
Source§impl CubicConfig
Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ControllerFactory for CubicConfig
Trait Implementations§
§impl Clone for CubicConfig
§fn clone(&self) -> CubicConfig
Returns a duplicate of the value. Read more1.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 ControllerSource§impl Debug for CubicConfig
Source§impl Default for CubicConfig
Source§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
§impl Debug for CubicConfig
§impl Default for CubicConfig
§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewReno.html b/pr/515/docs/noq/congestion/struct.NewReno.html
index 93b5448e6..4e4a20ce7 100644
--- a/pr/515/docs/noq/congestion/struct.NewReno.html
+++ b/pr/515/docs/noq/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in noq::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
Source§impl NewReno
Sourcepub fn new(
+NewReno in noq::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<NewReno>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 moreAuto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Auto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
index dba590836..fd8855e4a 100644
--- a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
+++ b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in noq::congestion - Rust NewRenoConfig
pub struct NewRenoConfig { /* private fields */ }
Expand description
Configuration for the NewReno congestion controller
-Implementations§
Source§impl NewRenoConfig
Sourcepub 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))
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§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 more1.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 ControllerSource§impl Debug for NewRenoConfig
Source§impl Default for NewRenoConfig
Source§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
§impl Debug for NewRenoConfig
§impl Default for NewRenoConfig
§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/trait.Controller.html b/pr/515/docs/noq/congestion/trait.Controller.html
index 028a0c13f..f73e6604d 100644
--- a/pr/515/docs/noq/congestion/trait.Controller.html
+++ b/pr/515/docs/noq/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in noq::congestion - Rust Controller
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.
-
Sourcefn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
-Sourcefn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
-Sourcefn initial_window(&self) -> u64
Initial congestion window
-Provided Methods§
fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
+fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
+fn initial_window(&self) -> u64
Initial congestion window
+
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.
-Sourcefn 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.
-Sourcefn 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.
-Sourcefn 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/515/docs/noq/congestion/trait.ControllerFactory.html b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
index e7464de35..93add5e51 100644
--- a/pr/515/docs/noq/congestion/trait.ControllerFactory.html
+++ b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in noq::congestion - Rust ControllerFactory
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§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/515/docs/noq/crypto/index.html b/pr/515/docs/noq/crypto/index.html
index 3266d8e96..fcbfe7a14 100644
--- a/pr/515/docs/noq/crypto/index.html
+++ b/pr/515/docs/noq/crypto/index.html
@@ -1,4 +1,4 @@
-noq::crypto - Rust Module crypto
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/515/docs/noq/crypto/rustls/index.html b/pr/515/docs/noq/crypto/rustls/index.html
index ca1fc066c..9ddd76feb 100644
--- a/pr/515/docs/noq/crypto/rustls/index.html
+++ b/pr/515/docs/noq/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
noq::crypto::rustls - Rust Module rustls
Expand description
TLS interface based on rustls
+noq::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
Structs§
- Handshake
Data - Authentication data for (rustls) TLS session
- NoInitial
CipherSuite - The initial cipher suite (AES-128-GCM-SHA256) is not available
- Quic
ClientConfig - A QUIC-compatible TLS client configuration
- Quic
ServerConfig - 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/515/docs/noq/crypto/rustls/struct.HandshakeData.html b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
index 3de1fa217..5cd6d846a 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in noq::crypto::rustls - Rust HandshakeData
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/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
index 0a68f632f..d68d484be 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in noq::crypto::rustls - Rust NoInitialCipherSuite
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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl Debug for NoInitialCipherSuite
Source§impl Display for NoInitialCipherSuite
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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Trait Implementations§
§impl Clone for NoInitialCipherSuite
§fn clone(&self) -> NoInitialCipherSuite
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more§impl Debug for NoInitialCipherSuite
§impl Display for NoInitialCipherSuite
§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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
index e3b9c6f62..a9ecb7aad 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in noq::crypto::rustls - Rust QuicClientConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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
Source§fn start_session(
+
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 configurationSource§impl Clone for QuicClientConfig
Source§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§impl Clone for QuicClientConfig
§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.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§
§impl Freeze for QuicClientConfig
§impl !RefUnwindSafe for QuicClientConfig
§impl Send for QuicClientConfig
§impl Sync for QuicClientConfig
§impl Unpin for QuicClientConfig
§impl !UnwindSafe for QuicClientConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
index 0233a8dbd..7af964361 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in noq::crypto::rustls - Rust QuicServerConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ServerConfig for QuicServerConfig
Source§fn start_session(
+
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 more1.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 moreSource§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 ConnectionIdSource§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
§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§
§impl Freeze for QuicServerConfig
§impl !RefUnwindSafe for QuicServerConfig
§impl Send for QuicServerConfig
§impl Sync for QuicServerConfig
§impl Unpin for QuicServerConfig
§impl !UnwindSafe for QuicServerConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
index a093d41d6..bf4416247 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in noq::crypto::rustls - Rust TlsSession
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 ConnectionIdSource§fn handshake_data(&self) -> Option<Box<dyn Any>>
Get data negotiated during the handshake, if available Read moreSource§fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>
Get the 0-RTT keys if available (clients only) Read moreSource§fn early_data_accepted(&self) -> Option<bool>
If the 0-RTT-encrypted data has been accepted by the peerSource§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 moreSource§fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>
The peer’s QUIC transport parameters Read moreSource§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 moreSource§fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>
Compute keys for the next key updateSource§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 moreSource§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/515/docs/noq/crypto/struct.CryptoError.html b/pr/515/docs/noq/crypto/struct.CryptoError.html
index 5d6945444..f1f762912 100644
--- a/pr/515/docs/noq/crypto/struct.CryptoError.html
+++ b/pr/515/docs/noq/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in noq::crypto - Rust CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
-Trait Implementations§
Source§impl Debug for CryptoError
Source§impl From<Unspecified> for CryptoError
Source§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> Any for Twhere
+CryptoError in noq::crypto - Rust CryptoError
Struct CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
+Trait Implementations§
§impl Debug for CryptoError
§impl From<Unspecified> for CryptoError
§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
index 95635cc39..52571f85c 100644
--- a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in noq::crypto - Rust ExportKeyingMaterialError
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§impl Eq for ExportKeyingMaterialError
Source§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Trait Implementations§
§impl Debug for ExportKeyingMaterialError
§impl PartialEq for ExportKeyingMaterialError
§impl Eq for ExportKeyingMaterialError
§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<Q, K> Equivalent<K> for Qwhere
diff --git a/pr/515/docs/noq/crypto/struct.KeyPair.html b/pr/515/docs/noq/crypto/struct.KeyPair.html
index 8206dd365..8c45befe8 100644
--- a/pr/515/docs/noq/crypto/struct.KeyPair.html
+++ b/pr/515/docs/noq/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in noq::crypto - Rust KeyPair
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/515/docs/noq/crypto/struct.Keys.html b/pr/515/docs/noq/crypto/struct.Keys.html
index e39f252a5..19dd2bff3 100644
--- a/pr/515/docs/noq/crypto/struct.Keys.html
+++ b/pr/515/docs/noq/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in noq::crypto - Rust Keys
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/515/docs/noq/crypto/struct.UnsupportedVersion.html b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
index 5686c151a..c06386448 100644
--- a/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
+++ b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
Source§impl Debug for UnsupportedVersion
Source§impl From<UnsupportedVersion> for ConnectError
Source§fn from(_: UnsupportedVersion) -> ConnectError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for UnsupportedVersion
§impl RefUnwindSafe for UnsupportedVersion
§impl Send for UnsupportedVersion
§impl Sync for UnsupportedVersion
§impl Unpin for UnsupportedVersion
§impl UnwindSafe for UnsupportedVersion
Blanket Implementations§
Source§impl<T> Any for Twhere
+UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
index 1fd285c70..c58de0c3a 100644
--- a/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
+++ b/pr/515/docs/noq/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in noq::congestion - Rust ControllerMetrics
#[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: u64Congestion 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§impl Default for ControllerMetrics
Source§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> Any for Twhere
+Trait Implementations§
§impl Debug for ControllerMetrics
§impl Default for ControllerMetrics
§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/congestion/struct.Cubic.html b/pr/515/docs/noq/congestion/struct.Cubic.html
index 860fb3b18..47a4686ad 100644
--- a/pr/515/docs/noq/congestion/struct.Cubic.html
+++ b/pr/515/docs/noq/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in noq::congestion - Rust Cubic
pub struct Cubic { /* private fields */ }
Expand description
The RFC8312 congestion controller, as widely used for TCP
-Implementations§
Trait Implementations§
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§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost Read moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<Cubic>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 detailsAuto 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§
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> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.CubicConfig.html b/pr/515/docs/noq/congestion/struct.CubicConfig.html
index a80cb6bc5..2ef895a9d 100644
--- a/pr/515/docs/noq/congestion/struct.CubicConfig.html
+++ b/pr/515/docs/noq/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in noq::congestion - Rust CubicConfig
pub struct CubicConfig { /* private fields */ }
Expand description
Configuration for the Cubic congestion controller
-Implementations§
Source§impl CubicConfig
Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ControllerFactory for CubicConfig
Trait Implementations§
§impl Clone for CubicConfig
§fn clone(&self) -> CubicConfig
Returns a duplicate of the value. Read more1.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 ControllerSource§impl Debug for CubicConfig
Source§impl Default for CubicConfig
Source§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
§impl Debug for CubicConfig
§impl Default for CubicConfig
§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewReno.html b/pr/515/docs/noq/congestion/struct.NewReno.html
index 93b5448e6..4e4a20ce7 100644
--- a/pr/515/docs/noq/congestion/struct.NewReno.html
+++ b/pr/515/docs/noq/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in noq::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
Source§impl NewReno
Sourcepub fn new(
+NewReno in noq::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<NewReno>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 moreAuto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Auto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
index dba590836..fd8855e4a 100644
--- a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
+++ b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in noq::congestion - Rust NewRenoConfig
pub struct NewRenoConfig { /* private fields */ }
Expand description
Configuration for the NewReno congestion controller
-Implementations§
Source§impl NewRenoConfig
Sourcepub 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))
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§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 more1.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 ControllerSource§impl Debug for NewRenoConfig
Source§impl Default for NewRenoConfig
Source§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
§impl Debug for NewRenoConfig
§impl Default for NewRenoConfig
§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/trait.Controller.html b/pr/515/docs/noq/congestion/trait.Controller.html
index 028a0c13f..f73e6604d 100644
--- a/pr/515/docs/noq/congestion/trait.Controller.html
+++ b/pr/515/docs/noq/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in noq::congestion - Rust Controller
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.
-
Sourcefn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
-Sourcefn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
-Sourcefn initial_window(&self) -> u64
Initial congestion window
-Provided Methods§
fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
+fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
+fn initial_window(&self) -> u64
Initial congestion window
+
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.
-Sourcefn 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.
-Sourcefn 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.
-Sourcefn 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/515/docs/noq/congestion/trait.ControllerFactory.html b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
index e7464de35..93add5e51 100644
--- a/pr/515/docs/noq/congestion/trait.ControllerFactory.html
+++ b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in noq::congestion - Rust ControllerFactory
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§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/515/docs/noq/crypto/index.html b/pr/515/docs/noq/crypto/index.html
index 3266d8e96..fcbfe7a14 100644
--- a/pr/515/docs/noq/crypto/index.html
+++ b/pr/515/docs/noq/crypto/index.html
@@ -1,4 +1,4 @@
-noq::crypto - Rust Module crypto
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/515/docs/noq/crypto/rustls/index.html b/pr/515/docs/noq/crypto/rustls/index.html
index ca1fc066c..9ddd76feb 100644
--- a/pr/515/docs/noq/crypto/rustls/index.html
+++ b/pr/515/docs/noq/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
noq::crypto::rustls - Rust Module rustls
Expand description
TLS interface based on rustls
+noq::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
Structs§
- Handshake
Data - Authentication data for (rustls) TLS session
- NoInitial
CipherSuite - The initial cipher suite (AES-128-GCM-SHA256) is not available
- Quic
ClientConfig - A QUIC-compatible TLS client configuration
- Quic
ServerConfig - 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/515/docs/noq/crypto/rustls/struct.HandshakeData.html b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
index 3de1fa217..5cd6d846a 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in noq::crypto::rustls - Rust HandshakeData
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/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
index 0a68f632f..d68d484be 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in noq::crypto::rustls - Rust NoInitialCipherSuite
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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl Debug for NoInitialCipherSuite
Source§impl Display for NoInitialCipherSuite
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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Trait Implementations§
§impl Clone for NoInitialCipherSuite
§fn clone(&self) -> NoInitialCipherSuite
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more§impl Debug for NoInitialCipherSuite
§impl Display for NoInitialCipherSuite
§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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
index e3b9c6f62..a9ecb7aad 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in noq::crypto::rustls - Rust QuicClientConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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
Source§fn start_session(
+
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 configurationSource§impl Clone for QuicClientConfig
Source§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§impl Clone for QuicClientConfig
§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.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§
§impl Freeze for QuicClientConfig
§impl !RefUnwindSafe for QuicClientConfig
§impl Send for QuicClientConfig
§impl Sync for QuicClientConfig
§impl Unpin for QuicClientConfig
§impl !UnwindSafe for QuicClientConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
index 0233a8dbd..7af964361 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in noq::crypto::rustls - Rust QuicServerConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ServerConfig for QuicServerConfig
Source§fn start_session(
+
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 more1.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 moreSource§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 ConnectionIdSource§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
§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§
§impl Freeze for QuicServerConfig
§impl !RefUnwindSafe for QuicServerConfig
§impl Send for QuicServerConfig
§impl Sync for QuicServerConfig
§impl Unpin for QuicServerConfig
§impl !UnwindSafe for QuicServerConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
index a093d41d6..bf4416247 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in noq::crypto::rustls - Rust TlsSession
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 ConnectionIdSource§fn handshake_data(&self) -> Option<Box<dyn Any>>
Get data negotiated during the handshake, if available Read moreSource§fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>
Get the 0-RTT keys if available (clients only) Read moreSource§fn early_data_accepted(&self) -> Option<bool>
If the 0-RTT-encrypted data has been accepted by the peerSource§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 moreSource§fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>
The peer’s QUIC transport parameters Read moreSource§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 moreSource§fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>
Compute keys for the next key updateSource§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 moreSource§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/515/docs/noq/crypto/struct.CryptoError.html b/pr/515/docs/noq/crypto/struct.CryptoError.html
index 5d6945444..f1f762912 100644
--- a/pr/515/docs/noq/crypto/struct.CryptoError.html
+++ b/pr/515/docs/noq/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in noq::crypto - Rust CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
-Trait Implementations§
Source§impl Debug for CryptoError
Source§impl From<Unspecified> for CryptoError
Source§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> Any for Twhere
+CryptoError in noq::crypto - Rust CryptoError
Struct CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
+Trait Implementations§
§impl Debug for CryptoError
§impl From<Unspecified> for CryptoError
§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
index 95635cc39..52571f85c 100644
--- a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in noq::crypto - Rust ExportKeyingMaterialError
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§impl Eq for ExportKeyingMaterialError
Source§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Trait Implementations§
§impl Debug for ExportKeyingMaterialError
§impl PartialEq for ExportKeyingMaterialError
§impl Eq for ExportKeyingMaterialError
§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<Q, K> Equivalent<K> for Qwhere
diff --git a/pr/515/docs/noq/crypto/struct.KeyPair.html b/pr/515/docs/noq/crypto/struct.KeyPair.html
index 8206dd365..8c45befe8 100644
--- a/pr/515/docs/noq/crypto/struct.KeyPair.html
+++ b/pr/515/docs/noq/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in noq::crypto - Rust KeyPair
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/515/docs/noq/crypto/struct.Keys.html b/pr/515/docs/noq/crypto/struct.Keys.html
index e39f252a5..19dd2bff3 100644
--- a/pr/515/docs/noq/crypto/struct.Keys.html
+++ b/pr/515/docs/noq/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in noq::crypto - Rust Keys
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/515/docs/noq/crypto/struct.UnsupportedVersion.html b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
index 5686c151a..c06386448 100644
--- a/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
+++ b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
Source§impl Debug for UnsupportedVersion
Source§impl From<UnsupportedVersion> for ConnectError
Source§fn from(_: UnsupportedVersion) -> ConnectError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for UnsupportedVersion
§impl RefUnwindSafe for UnsupportedVersion
§impl Send for UnsupportedVersion
§impl Sync for UnsupportedVersion
§impl Unpin for UnsupportedVersion
§impl UnwindSafe for UnsupportedVersion
Blanket Implementations§
Source§impl<T> Any for Twhere
+UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
ControllerMetrics
#[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: u64Congestion 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§impl Default for ControllerMetrics
Source§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> Any for Twhere
+Trait Implementations§
§impl Debug for ControllerMetrics
§impl Default for ControllerMetrics
§fn default() -> ControllerMetrics
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for ControllerMetrics
§impl RefUnwindSafe for ControllerMetrics
§impl Send for ControllerMetrics
§impl Sync for ControllerMetrics
§impl Unpin for ControllerMetrics
§impl UnwindSafe for ControllerMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/congestion/struct.Cubic.html b/pr/515/docs/noq/congestion/struct.Cubic.html
index 860fb3b18..47a4686ad 100644
--- a/pr/515/docs/noq/congestion/struct.Cubic.html
+++ b/pr/515/docs/noq/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in noq::congestion - Rust Cubic
pub struct Cubic { /* private fields */ }
Expand description
The RFC8312 congestion controller, as widely used for TCP
-Implementations§
Trait Implementations§
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§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost Read moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<Cubic>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 detailsAuto 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§
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> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.CubicConfig.html b/pr/515/docs/noq/congestion/struct.CubicConfig.html
index a80cb6bc5..2ef895a9d 100644
--- a/pr/515/docs/noq/congestion/struct.CubicConfig.html
+++ b/pr/515/docs/noq/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in noq::congestion - Rust CubicConfig
pub struct CubicConfig { /* private fields */ }
Expand description
Configuration for the Cubic congestion controller
-Implementations§
Source§impl CubicConfig
Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ControllerFactory for CubicConfig
Trait Implementations§
§impl Clone for CubicConfig
§fn clone(&self) -> CubicConfig
Returns a duplicate of the value. Read more1.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 ControllerSource§impl Debug for CubicConfig
Source§impl Default for CubicConfig
Source§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
§impl Debug for CubicConfig
§impl Default for CubicConfig
§fn default() -> CubicConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for CubicConfig
§impl RefUnwindSafe for CubicConfig
§impl Send for CubicConfig
§impl Sync for CubicConfig
§impl Unpin for CubicConfig
§impl UnwindSafe for CubicConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewReno.html b/pr/515/docs/noq/congestion/struct.NewReno.html
index 93b5448e6..4e4a20ce7 100644
--- a/pr/515/docs/noq/congestion/struct.NewReno.html
+++ b/pr/515/docs/noq/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in noq::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
Source§impl NewReno
Sourcepub fn new(
+NewReno in noq::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
§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 moreSource§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 moreSource§fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updatedSource§fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabledSource§fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s stateSource§fn initial_window(&self) -> u64
Initial congestion windowSource§fn into_any(self: Box<NewReno>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sentSource§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 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 moreAuto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Auto Trait Implementations§
§impl Freeze for NewReno
§impl RefUnwindSafe for NewReno
§impl Send for NewReno
§impl Sync for NewReno
§impl Unpin for NewReno
§impl UnwindSafe for NewReno
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
index dba590836..fd8855e4a 100644
--- a/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
+++ b/pr/515/docs/noq/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in noq::congestion - Rust NewRenoConfig
pub struct NewRenoConfig { /* private fields */ }
Expand description
Configuration for the NewReno congestion controller
-Implementations§
Source§impl NewRenoConfig
Sourcepub 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))
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§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 more1.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 ControllerSource§impl Debug for NewRenoConfig
Source§impl Default for NewRenoConfig
Source§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
§impl Debug for NewRenoConfig
§impl Default for NewRenoConfig
§fn default() -> NewRenoConfig
Returns the “default value” for a type. Read moreAuto Trait Implementations§
§impl Freeze for NewRenoConfig
§impl RefUnwindSafe for NewRenoConfig
§impl Send for NewRenoConfig
§impl Sync for NewRenoConfig
§impl Unpin for NewRenoConfig
§impl UnwindSafe for NewRenoConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/congestion/trait.Controller.html b/pr/515/docs/noq/congestion/trait.Controller.html
index 028a0c13f..f73e6604d 100644
--- a/pr/515/docs/noq/congestion/trait.Controller.html
+++ b/pr/515/docs/noq/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in noq::congestion - Rust Controller
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.
-
Sourcefn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
-Sourcefn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
-Sourcefn initial_window(&self) -> u64
Initial congestion window
-Provided Methods§
fn on_mtu_update(&mut self, new_mtu: u16)
The known MTU for the current network path has been updated
+fn clone_box(&self) -> Box<dyn Controller>
Duplicate the controller’s state
+fn initial_window(&self) -> u64
Initial congestion window
+
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.
-Sourcefn 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.
-Sourcefn 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.
-Sourcefn 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/515/docs/noq/congestion/trait.ControllerFactory.html b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
index e7464de35..93add5e51 100644
--- a/pr/515/docs/noq/congestion/trait.ControllerFactory.html
+++ b/pr/515/docs/noq/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in noq::congestion - Rust ControllerFactory
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§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/515/docs/noq/crypto/index.html b/pr/515/docs/noq/crypto/index.html
index 3266d8e96..fcbfe7a14 100644
--- a/pr/515/docs/noq/crypto/index.html
+++ b/pr/515/docs/noq/crypto/index.html
@@ -1,4 +1,4 @@
-noq::crypto - Rust Module crypto
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/515/docs/noq/crypto/rustls/index.html b/pr/515/docs/noq/crypto/rustls/index.html
index ca1fc066c..9ddd76feb 100644
--- a/pr/515/docs/noq/crypto/rustls/index.html
+++ b/pr/515/docs/noq/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
noq::crypto::rustls - Rust Module rustls
Expand description
TLS interface based on rustls
+noq::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
Structs§
- Handshake
Data - Authentication data for (rustls) TLS session
- NoInitial
CipherSuite - The initial cipher suite (AES-128-GCM-SHA256) is not available
- Quic
ClientConfig - A QUIC-compatible TLS client configuration
- Quic
ServerConfig - 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/515/docs/noq/crypto/rustls/struct.HandshakeData.html b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
index 3de1fa217..5cd6d846a 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in noq::crypto::rustls - Rust HandshakeData
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/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
index 0a68f632f..d68d484be 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in noq::crypto::rustls - Rust NoInitialCipherSuite
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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl Debug for NoInitialCipherSuite
Source§impl Display for NoInitialCipherSuite
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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Trait Implementations§
§impl Clone for NoInitialCipherSuite
§fn clone(&self) -> NoInitialCipherSuite
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more§impl Debug for NoInitialCipherSuite
§impl Display for NoInitialCipherSuite
§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 more1.0.0 · Source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl Freeze for NoInitialCipherSuite
§impl RefUnwindSafe for NoInitialCipherSuite
§impl Send for NoInitialCipherSuite
§impl Sync for NoInitialCipherSuite
§impl Unpin for NoInitialCipherSuite
§impl UnwindSafe for NoInitialCipherSuite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> CloneToUninit for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
index e3b9c6f62..a9ecb7aad 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in noq::crypto::rustls - Rust QuicClientConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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
Source§fn start_session(
+
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 configurationSource§impl Clone for QuicClientConfig
Source§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§impl Clone for QuicClientConfig
§fn clone(&self) -> QuicClientConfig
Returns a duplicate of the value. Read more1.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§
§impl Freeze for QuicClientConfig
§impl !RefUnwindSafe for QuicClientConfig
§impl Send for QuicClientConfig
§impl Sync for QuicClientConfig
§impl Unpin for QuicClientConfig
§impl !UnwindSafe for QuicClientConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
index 0233a8dbd..7af964361 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in noq::crypto::rustls - Rust QuicServerConfig
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
Sourcepub fn with_initial(
+
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.
-Sourcepub 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 more1.0.0 · Source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moreSource§impl ServerConfig for QuicServerConfig
Source§fn start_session(
+
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 more1.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 moreSource§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 ConnectionIdSource§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
§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§
§impl Freeze for QuicServerConfig
§impl !RefUnwindSafe for QuicServerConfig
§impl Send for QuicServerConfig
§impl Sync for QuicServerConfig
§impl Unpin for QuicServerConfig
§impl !UnwindSafe for QuicServerConfig
Blanket Implementations§
Source§impl<T> Borrow<T> for Twhere
diff --git a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
index a093d41d6..bf4416247 100644
--- a/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
+++ b/pr/515/docs/noq/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in noq::crypto::rustls - Rust TlsSession
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 ConnectionIdSource§fn handshake_data(&self) -> Option<Box<dyn Any>>
Get data negotiated during the handshake, if available Read moreSource§fn early_crypto(&self) -> Option<(Box<dyn HeaderKey>, Box<dyn PacketKey>)>
Get the 0-RTT keys if available (clients only) Read moreSource§fn early_data_accepted(&self) -> Option<bool>
If the 0-RTT-encrypted data has been accepted by the peerSource§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 moreSource§fn transport_parameters(&self) -> Result<Option<TransportParameters>, Error>
The peer’s QUIC transport parameters Read moreSource§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 moreSource§fn next_1rtt_keys(&mut self) -> Option<KeyPair<Box<dyn PacketKey>>>
Compute keys for the next key updateSource§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 moreSource§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/515/docs/noq/crypto/struct.CryptoError.html b/pr/515/docs/noq/crypto/struct.CryptoError.html
index 5d6945444..f1f762912 100644
--- a/pr/515/docs/noq/crypto/struct.CryptoError.html
+++ b/pr/515/docs/noq/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in noq::crypto - Rust CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
-Trait Implementations§
Source§impl Debug for CryptoError
Source§impl From<Unspecified> for CryptoError
Source§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> Any for Twhere
+CryptoError in noq::crypto - Rust CryptoError
Struct CryptoError
pub struct CryptoError;
Expand description
Generic crypto errors
+Trait Implementations§
§impl Debug for CryptoError
§impl From<Unspecified> for CryptoError
§fn from(_: Unspecified) -> CryptoError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for CryptoError
§impl RefUnwindSafe for CryptoError
§impl Send for CryptoError
§impl Sync for CryptoError
§impl Unpin for CryptoError
§impl UnwindSafe for CryptoError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moreSource§impl<T> From<T> for T
Source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
index 95635cc39..52571f85c 100644
--- a/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/515/docs/noq/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in noq::crypto - Rust ExportKeyingMaterialError
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§impl Eq for ExportKeyingMaterialError
Source§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Trait Implementations§
§impl Debug for ExportKeyingMaterialError
§impl PartialEq for ExportKeyingMaterialError
§impl Eq for ExportKeyingMaterialError
§impl StructuralPartialEq for ExportKeyingMaterialError
Auto Trait Implementations§
§impl Freeze for ExportKeyingMaterialError
§impl RefUnwindSafe for ExportKeyingMaterialError
§impl Send for ExportKeyingMaterialError
§impl Sync for ExportKeyingMaterialError
§impl Unpin for ExportKeyingMaterialError
§impl UnwindSafe for ExportKeyingMaterialError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<Q, K> Equivalent<K> for Qwhere
diff --git a/pr/515/docs/noq/crypto/struct.KeyPair.html b/pr/515/docs/noq/crypto/struct.KeyPair.html
index 8206dd365..8c45befe8 100644
--- a/pr/515/docs/noq/crypto/struct.KeyPair.html
+++ b/pr/515/docs/noq/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in noq::crypto - Rust KeyPair
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/515/docs/noq/crypto/struct.Keys.html b/pr/515/docs/noq/crypto/struct.Keys.html
index e39f252a5..19dd2bff3 100644
--- a/pr/515/docs/noq/crypto/struct.Keys.html
+++ b/pr/515/docs/noq/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in noq::crypto - Rust Keys
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/515/docs/noq/crypto/struct.UnsupportedVersion.html b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
index 5686c151a..c06386448 100644
--- a/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
+++ b/pr/515/docs/noq/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in noq::crypto - Rust UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
Source§impl Debug for UnsupportedVersion
Source§impl From<UnsupportedVersion> for ConnectError
Source§fn from(_: UnsupportedVersion) -> ConnectError
Converts to this type from the input type.Auto Trait Implementations§
§impl Freeze for UnsupportedVersion
§impl RefUnwindSafe for UnsupportedVersion
§impl Send for UnsupportedVersion
§impl Sync for UnsupportedVersion
§impl Unpin for UnsupportedVersion
§impl UnwindSafe for UnsupportedVersion
Blanket Implementations§
Source§impl<T> Any for Twhere
+UnsupportedVersion in noq::crypto - Rust UnsupportedVersion