Module congestion
Expand description
Logic for controlling the rate at which data is sent
+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
Struct Bbr
pub struct Bbr { /* private fields */ }Expand description
Experimental! Use at your own risk.
+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§
§impl Controller for Bbr
impl Controller for Bbr
Implementations§
Trait Implementations§
Source§impl Controller for Bbr
impl Controller for Bbr
Source§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)
Source§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, -)
§fn on_end_acks(
+ rtt: &RttEstimator,
+)
fn on_end_acks( + rtt: &RttEstimator, +)
Source§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.§fn on_congestion_event(
+)
fn on_congestion_event( +)
now argument. This indicates one of those batches has completed.Source§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, -)
§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> Any for Twhere
+)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<Bbr>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§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 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<Bbr>) -> Box<dyn Any>
Returns Self for use in down-casting to extract implementation detailsSource§fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost Read more
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> 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/386/docs/iroh_quinn/congestion/struct.BbrConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.BbrConfig.html
index 56cceb0af..2ae63d0bc 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.BbrConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.BbrConfig.html
@@ -1,11 +1,11 @@
-BbrConfig in iroh_quinn::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.
+BbrConfig in iroh_quinn::congestion - Rust BbrConfig
pub struct BbrConfig { /* private fields */ }
Expand description
Configuration for the Bbr congestion controller
+Implementations§
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/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
index 2ca5418c3..f4ede9270 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in iroh_quinn::congestion - Rust ControllerMetrics
Struct ControllerMetrics
#[non_exhaustive]pub struct ControllerMetrics {
+ControllerMetrics in iroh_quinn::congestion - Rust 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§
§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> Any for Twhere
+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> 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/386/docs/iroh_quinn/congestion/struct.Cubic.html b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
index 6eef5f0b0..af26f94a0 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in iroh_quinn::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(
+Cubic in iroh_quinn::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(
&mut self,
now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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 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(
+)
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 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/386/docs/iroh_quinn/congestion/struct.CubicConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
index 827a85531..200f73d9a 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in iroh_quinn::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.
+CubicConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<CubicConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/struct.NewReno.html b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
index 90e944e61..d95229378 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in iroh_quinn::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
§impl NewReno
pub fn new(
+NewReno in iroh_quinn::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
Source§impl Controller for NewReno
Source§fn on_ack(
&mut self,
_now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- _rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ _rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
_is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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(
+)
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(
&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.§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/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
index c9fffbb67..89d6dd734 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in iroh_quinn::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.
+NewRenoConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<NewRenoConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/trait.Controller.html b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
index 16510c13e..e0e5882dd 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in iroh_quinn::congestion - Rust Controller
Trait Controller
pub trait Controller:
+Controller in iroh_quinn::congestion - Rust 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§
fn on_congestion_event(
+
Required Methods§
Sourcefn 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.
-
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(
+
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§
Sourcefn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sent
+Sourcefn 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.
-fn on_end_acks(
+
Sourcefn 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.
-fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost
+Sourcefn 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.
-fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
-Implementors§
\ No newline at end of file
+Sourcefn 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/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
index 0ce2dabef..4b3d57ea9 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in iroh_quinn::congestion - Rust ControllerFactory
Trait ControllerFactory
pub trait ControllerFactory {
+ControllerFactory in iroh_quinn::congestion - Rust 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§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/386/docs/iroh_quinn/crypto/index.html b/pr/386/docs/iroh_quinn/crypto/index.html
index c23f8b15f..615c48abe 100644
--- a/pr/386/docs/iroh_quinn/crypto/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/index.html
@@ -1,4 +1,4 @@
-iroh_quinn::crypto - Rust Module crypto
Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
+iroh_quinn::crypto - Rust Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
The protocol logic in Quinn 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/386/docs/iroh_quinn/crypto/rustls/index.html b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
index 4ba52888d..408115e6c 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
iroh_quinn::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
+iroh_quinn::crypto::rustls - Rust 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/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
index b9633fec7..7c8a7b1cf 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
Struct HandshakeData
pub struct HandshakeData {
+HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
pub struct HandshakeData {
pub protocol: Option<Vec<u8>>,
pub server_name: Option<String>,
pub negotiated_key_exchange_group: NamedGroup,
diff --git a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
index d806aa408..1ce33bf8b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust NoInitialCipherSuite
Struct NoInitialCipherSuite
pub struct NoInitialCipherSuite { /* private fields */ }
Expand description
The initial cipher suite (AES-128-GCM-SHA256) is not available
+NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
index 699750c09..54d06690b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
Struct QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
+QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
Quinn 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,19 +12,19 @@ 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§
§impl QuicClientConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicClientConfig
Sourcepub 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.
-Trait Implementations§
§impl ClientConfig for QuicClientConfig
§fn start_session(
+
Trait Implementations§
Source§impl ClientConfig for QuicClientConfig
Source§fn start_session(
self: Arc<QuicClientConfig>,
version: u32,
server_name: &str,
- params: &TransportParameters,
-) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configuration§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.§fn try_from(
+ params: &TransportParameters,
+) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configurationSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ClientConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
index 78a5c5afb..a80bf2aad 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
Struct QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
+QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
Quinn 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,27 +8,27 @@ 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§
§impl QuicServerConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicServerConfig
Sourcepub 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.
-Trait Implementations§
§impl ServerConfig for QuicServerConfig
§fn start_session(
+
Trait Implementations§
Source§impl ServerConfig for QuicServerConfig
Source§fn start_session(
self: Arc<QuicServerConfig>,
version: u32,
- params: &TransportParameters,
-) -> Box<dyn Session>
Start a server session with this configuration Read more§fn initial_keys(
+ params: &TransportParameters,
+) -> Box<dyn Session>
Start a server session with this configuration Read moreSource§fn initial_keys(
&self,
version: u32,
dst_cid: ConnectionId,
-) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§fn retry_tag(
+) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ServerConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
index 2394b3d15..55fa0eedd 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in iroh_quinn::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(
+TlsSession in iroh_quinn::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(
&self,
orig_dst_cid: ConnectionId,
header: &[u8],
payload: &[u8],
-) -> bool
Verify the integrity of a retry packet§fn export_keying_material(
+) -> bool
Verify the integrity of a retry packetSource§fn export_keying_material(
&self,
output: &mut [u8],
label: &[u8],
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
index 6934e5159..c7e440336 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in iroh_quinn::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> Any for Twhere
+CryptoError in iroh_quinn::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> 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/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
index e69c67951..40bed3edb 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in iroh_quinn::crypto - Rust ExportKeyingMaterialError
Struct ExportKeyingMaterialError
pub struct ExportKeyingMaterialError;
Expand description
Error returned by Session::export_keying_material.
+ExportKeyingMaterialError in iroh_quinn::crypto - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/struct.KeyPair.html b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
index 6af709b9f..20757ff04 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in iroh_quinn::crypto - Rust KeyPair
Struct KeyPair
pub struct KeyPair<T> {
+KeyPair in iroh_quinn::crypto - Rust KeyPair
pub struct KeyPair<T> {
pub local: T,
pub remote: T,
}
Expand description
A pair of keys for bidirectional communication
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
index f21f1cec8..491208804 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in iroh_quinn::crypto - Rust Keys
Struct Keys
pub struct Keys {
+Keys in iroh_quinn::crypto - Rust 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/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
index 048be9e61..6e6350375 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in iroh_quinn::crypto - Rust UnsupportedVersion
Struct UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
§impl Debug for UnsupportedVersion
§impl From<UnsupportedVersion> for ConnectError
§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 iroh_quinn::crypto - Rust UnsupportedVersion
impl<T> CloneToUninit for Twhere
diff --git a/pr/386/docs/iroh_quinn/congestion/struct.BbrConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.BbrConfig.html
index 56cceb0af..2ae63d0bc 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.BbrConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.BbrConfig.html
@@ -1,11 +1,11 @@
-BbrConfig in iroh_quinn::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.
+BbrConfig in iroh_quinn::congestion - Rust BbrConfig
pub struct BbrConfig { /* private fields */ }
Expand description
Configuration for the Bbr congestion controller
+Implementations§
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/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
index 2ca5418c3..f4ede9270 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in iroh_quinn::congestion - Rust ControllerMetrics
Struct ControllerMetrics
#[non_exhaustive]pub struct ControllerMetrics {
+ControllerMetrics in iroh_quinn::congestion - Rust 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§
§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> Any for Twhere
+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> 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/386/docs/iroh_quinn/congestion/struct.Cubic.html b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
index 6eef5f0b0..af26f94a0 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in iroh_quinn::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(
+Cubic in iroh_quinn::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(
&mut self,
now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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 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(
+)
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 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/386/docs/iroh_quinn/congestion/struct.CubicConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
index 827a85531..200f73d9a 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in iroh_quinn::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.
+CubicConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<CubicConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/struct.NewReno.html b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
index 90e944e61..d95229378 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in iroh_quinn::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
§impl NewReno
pub fn new(
+NewReno in iroh_quinn::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
Source§impl Controller for NewReno
Source§fn on_ack(
&mut self,
_now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- _rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ _rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
_is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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(
+)
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(
&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.§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/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
index c9fffbb67..89d6dd734 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in iroh_quinn::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.
+NewRenoConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<NewRenoConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/trait.Controller.html b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
index 16510c13e..e0e5882dd 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in iroh_quinn::congestion - Rust Controller
Trait Controller
pub trait Controller:
+Controller in iroh_quinn::congestion - Rust 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§
fn on_congestion_event(
+
Required Methods§
Sourcefn 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.
-
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(
+
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§
Sourcefn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sent
+Sourcefn 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.
-fn on_end_acks(
+
Sourcefn 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.
-fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost
+Sourcefn 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.
-fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
-Implementors§
\ No newline at end of file
+Sourcefn 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/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
index 0ce2dabef..4b3d57ea9 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in iroh_quinn::congestion - Rust ControllerFactory
Trait ControllerFactory
pub trait ControllerFactory {
+ControllerFactory in iroh_quinn::congestion - Rust 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§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/386/docs/iroh_quinn/crypto/index.html b/pr/386/docs/iroh_quinn/crypto/index.html
index c23f8b15f..615c48abe 100644
--- a/pr/386/docs/iroh_quinn/crypto/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/index.html
@@ -1,4 +1,4 @@
-iroh_quinn::crypto - Rust Module crypto
Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
+iroh_quinn::crypto - Rust Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
The protocol logic in Quinn 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/386/docs/iroh_quinn/crypto/rustls/index.html b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
index 4ba52888d..408115e6c 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
iroh_quinn::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
+iroh_quinn::crypto::rustls - Rust 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/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
index b9633fec7..7c8a7b1cf 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
Struct HandshakeData
pub struct HandshakeData {
+HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
pub struct HandshakeData {
pub protocol: Option<Vec<u8>>,
pub server_name: Option<String>,
pub negotiated_key_exchange_group: NamedGroup,
diff --git a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
index d806aa408..1ce33bf8b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust NoInitialCipherSuite
Struct NoInitialCipherSuite
pub struct NoInitialCipherSuite { /* private fields */ }
Expand description
The initial cipher suite (AES-128-GCM-SHA256) is not available
+NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
index 699750c09..54d06690b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
Struct QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
+QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
Quinn 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,19 +12,19 @@ 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§
§impl QuicClientConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicClientConfig
Sourcepub 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.
-Trait Implementations§
§impl ClientConfig for QuicClientConfig
§fn start_session(
+
Trait Implementations§
Source§impl ClientConfig for QuicClientConfig
Source§fn start_session(
self: Arc<QuicClientConfig>,
version: u32,
server_name: &str,
- params: &TransportParameters,
-) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configuration§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.§fn try_from(
+ params: &TransportParameters,
+) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configurationSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ClientConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
index 78a5c5afb..a80bf2aad 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
Struct QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
+QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
Quinn 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,27 +8,27 @@ 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§
§impl QuicServerConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicServerConfig
Sourcepub 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.
-Trait Implementations§
§impl ServerConfig for QuicServerConfig
§fn start_session(
+
Trait Implementations§
Source§impl ServerConfig for QuicServerConfig
Source§fn start_session(
self: Arc<QuicServerConfig>,
version: u32,
- params: &TransportParameters,
-) -> Box<dyn Session>
Start a server session with this configuration Read more§fn initial_keys(
+ params: &TransportParameters,
+) -> Box<dyn Session>
Start a server session with this configuration Read moreSource§fn initial_keys(
&self,
version: u32,
dst_cid: ConnectionId,
-) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§fn retry_tag(
+) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ServerConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
index 2394b3d15..55fa0eedd 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in iroh_quinn::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(
+TlsSession in iroh_quinn::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(
&self,
orig_dst_cid: ConnectionId,
header: &[u8],
payload: &[u8],
-) -> bool
Verify the integrity of a retry packet§fn export_keying_material(
+) -> bool
Verify the integrity of a retry packetSource§fn export_keying_material(
&self,
output: &mut [u8],
label: &[u8],
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
index 6934e5159..c7e440336 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in iroh_quinn::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> Any for Twhere
+CryptoError in iroh_quinn::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> 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/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
index e69c67951..40bed3edb 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in iroh_quinn::crypto - Rust ExportKeyingMaterialError
Struct ExportKeyingMaterialError
pub struct ExportKeyingMaterialError;
Expand description
Error returned by Session::export_keying_material.
+ExportKeyingMaterialError in iroh_quinn::crypto - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/struct.KeyPair.html b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
index 6af709b9f..20757ff04 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in iroh_quinn::crypto - Rust KeyPair
Struct KeyPair
pub struct KeyPair<T> {
+KeyPair in iroh_quinn::crypto - Rust KeyPair
pub struct KeyPair<T> {
pub local: T,
pub remote: T,
}
Expand description
A pair of keys for bidirectional communication
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
index f21f1cec8..491208804 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in iroh_quinn::crypto - Rust Keys
Struct Keys
pub struct Keys {
+Keys in iroh_quinn::crypto - Rust 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/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
index 048be9e61..6e6350375 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in iroh_quinn::crypto - Rust UnsupportedVersion
Struct UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
§impl Debug for UnsupportedVersion
§impl From<UnsupportedVersion> for ConnectError
§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 iroh_quinn::crypto - Rust UnsupportedVersion
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.
+BbrConfig
pub struct BbrConfig { /* private fields */ }Expand description
Configuration for the Bbr congestion controller
Implementations§
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/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
index 2ca5418c3..f4ede9270 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in iroh_quinn::congestion - Rust ControllerMetrics
Struct ControllerMetrics
#[non_exhaustive]pub struct ControllerMetrics {
+ControllerMetrics in iroh_quinn::congestion - Rust 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§
§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> Any for Twhere
+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> 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/386/docs/iroh_quinn/congestion/struct.Cubic.html b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
index 6eef5f0b0..af26f94a0 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in iroh_quinn::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(
+Cubic in iroh_quinn::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(
&mut self,
now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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 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(
+)
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 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/386/docs/iroh_quinn/congestion/struct.CubicConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
index 827a85531..200f73d9a 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in iroh_quinn::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.
+CubicConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<CubicConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/struct.NewReno.html b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
index 90e944e61..d95229378 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in iroh_quinn::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
§impl NewReno
pub fn new(
+NewReno in iroh_quinn::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
Source§impl Controller for NewReno
Source§fn on_ack(
&mut self,
_now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- _rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ _rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
_is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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(
+)
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(
&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.§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/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
index c9fffbb67..89d6dd734 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in iroh_quinn::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.
+NewRenoConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<NewRenoConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/trait.Controller.html b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
index 16510c13e..e0e5882dd 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in iroh_quinn::congestion - Rust Controller
Trait Controller
pub trait Controller:
+Controller in iroh_quinn::congestion - Rust 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§
fn on_congestion_event(
+
Required Methods§
Sourcefn 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.
-
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(
+
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§
Sourcefn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sent
+Sourcefn 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.
-fn on_end_acks(
+
Sourcefn 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.
-fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost
+Sourcefn 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.
-fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
-Implementors§
\ No newline at end of file
+Sourcefn 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/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
index 0ce2dabef..4b3d57ea9 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in iroh_quinn::congestion - Rust ControllerFactory
Trait ControllerFactory
pub trait ControllerFactory {
+ControllerFactory in iroh_quinn::congestion - Rust 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§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/386/docs/iroh_quinn/crypto/index.html b/pr/386/docs/iroh_quinn/crypto/index.html
index c23f8b15f..615c48abe 100644
--- a/pr/386/docs/iroh_quinn/crypto/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/index.html
@@ -1,4 +1,4 @@
-iroh_quinn::crypto - Rust Module crypto
Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
+iroh_quinn::crypto - Rust Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
The protocol logic in Quinn 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/386/docs/iroh_quinn/crypto/rustls/index.html b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
index 4ba52888d..408115e6c 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
iroh_quinn::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
+iroh_quinn::crypto::rustls - Rust 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/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
index b9633fec7..7c8a7b1cf 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
Struct HandshakeData
pub struct HandshakeData {
+HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
pub struct HandshakeData {
pub protocol: Option<Vec<u8>>,
pub server_name: Option<String>,
pub negotiated_key_exchange_group: NamedGroup,
diff --git a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
index d806aa408..1ce33bf8b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust NoInitialCipherSuite
Struct NoInitialCipherSuite
pub struct NoInitialCipherSuite { /* private fields */ }
Expand description
The initial cipher suite (AES-128-GCM-SHA256) is not available
+NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
index 699750c09..54d06690b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
Struct QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
+QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
Quinn 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,19 +12,19 @@ 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§
§impl QuicClientConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicClientConfig
Sourcepub 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.
-Trait Implementations§
§impl ClientConfig for QuicClientConfig
§fn start_session(
+
Trait Implementations§
Source§impl ClientConfig for QuicClientConfig
Source§fn start_session(
self: Arc<QuicClientConfig>,
version: u32,
server_name: &str,
- params: &TransportParameters,
-) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configuration§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.§fn try_from(
+ params: &TransportParameters,
+) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configurationSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ClientConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
index 78a5c5afb..a80bf2aad 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
Struct QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
+QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
Quinn 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,27 +8,27 @@ 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§
§impl QuicServerConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicServerConfig
Sourcepub 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.
-Trait Implementations§
§impl ServerConfig for QuicServerConfig
§fn start_session(
+
Trait Implementations§
Source§impl ServerConfig for QuicServerConfig
Source§fn start_session(
self: Arc<QuicServerConfig>,
version: u32,
- params: &TransportParameters,
-) -> Box<dyn Session>
Start a server session with this configuration Read more§fn initial_keys(
+ params: &TransportParameters,
+) -> Box<dyn Session>
Start a server session with this configuration Read moreSource§fn initial_keys(
&self,
version: u32,
dst_cid: ConnectionId,
-) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§fn retry_tag(
+) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ServerConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
index 2394b3d15..55fa0eedd 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in iroh_quinn::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(
+TlsSession in iroh_quinn::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(
&self,
orig_dst_cid: ConnectionId,
header: &[u8],
payload: &[u8],
-) -> bool
Verify the integrity of a retry packet§fn export_keying_material(
+) -> bool
Verify the integrity of a retry packetSource§fn export_keying_material(
&self,
output: &mut [u8],
label: &[u8],
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
index 6934e5159..c7e440336 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in iroh_quinn::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> Any for Twhere
+CryptoError in iroh_quinn::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> 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/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
index e69c67951..40bed3edb 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in iroh_quinn::crypto - Rust ExportKeyingMaterialError
Struct ExportKeyingMaterialError
pub struct ExportKeyingMaterialError;
Expand description
Error returned by Session::export_keying_material.
+ExportKeyingMaterialError in iroh_quinn::crypto - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/struct.KeyPair.html b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
index 6af709b9f..20757ff04 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in iroh_quinn::crypto - Rust KeyPair
Struct KeyPair
pub struct KeyPair<T> {
+KeyPair in iroh_quinn::crypto - Rust KeyPair
pub struct KeyPair<T> {
pub local: T,
pub remote: T,
}
Expand description
A pair of keys for bidirectional communication
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
index f21f1cec8..491208804 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in iroh_quinn::crypto - Rust Keys
Struct Keys
pub struct Keys {
+Keys in iroh_quinn::crypto - Rust 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/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
index 048be9e61..6e6350375 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in iroh_quinn::crypto - Rust UnsupportedVersion
Struct UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
§impl Debug for UnsupportedVersion
§impl From<UnsupportedVersion> for ConnectError
§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 iroh_quinn::crypto - Rust UnsupportedVersion
impl<T> CloneToUninit for Twhere
diff --git a/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
index 2ca5418c3..f4ede9270 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.ControllerMetrics.html
@@ -1,4 +1,4 @@
-ControllerMetrics in iroh_quinn::congestion - Rust ControllerMetrics
Struct ControllerMetrics
#[non_exhaustive]pub struct ControllerMetrics {
+ControllerMetrics in iroh_quinn::congestion - Rust 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§
§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> Any for Twhere
+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> 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/386/docs/iroh_quinn/congestion/struct.Cubic.html b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
index 6eef5f0b0..af26f94a0 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in iroh_quinn::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(
+Cubic in iroh_quinn::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(
&mut self,
now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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 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(
+)
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 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/386/docs/iroh_quinn/congestion/struct.CubicConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
index 827a85531..200f73d9a 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in iroh_quinn::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.
+CubicConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<CubicConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/struct.NewReno.html b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
index 90e944e61..d95229378 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in iroh_quinn::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
§impl NewReno
pub fn new(
+NewReno in iroh_quinn::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
Source§impl Controller for NewReno
Source§fn on_ack(
&mut self,
_now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- _rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ _rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
_is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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(
+)
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(
&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.§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/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
index c9fffbb67..89d6dd734 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in iroh_quinn::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.
+NewRenoConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<NewRenoConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/trait.Controller.html b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
index 16510c13e..e0e5882dd 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in iroh_quinn::congestion - Rust Controller
Trait Controller
pub trait Controller:
+Controller in iroh_quinn::congestion - Rust 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§
fn on_congestion_event(
+
Required Methods§
Sourcefn 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.
-
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(
+
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§
Sourcefn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sent
+Sourcefn 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.
-fn on_end_acks(
+
Sourcefn 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.
-fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost
+Sourcefn 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.
-fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
-Implementors§
\ No newline at end of file
+Sourcefn 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/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
index 0ce2dabef..4b3d57ea9 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in iroh_quinn::congestion - Rust ControllerFactory
Trait ControllerFactory
pub trait ControllerFactory {
+ControllerFactory in iroh_quinn::congestion - Rust 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§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/386/docs/iroh_quinn/crypto/index.html b/pr/386/docs/iroh_quinn/crypto/index.html
index c23f8b15f..615c48abe 100644
--- a/pr/386/docs/iroh_quinn/crypto/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/index.html
@@ -1,4 +1,4 @@
-iroh_quinn::crypto - Rust Module crypto
Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
+iroh_quinn::crypto - Rust Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
The protocol logic in Quinn 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/386/docs/iroh_quinn/crypto/rustls/index.html b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
index 4ba52888d..408115e6c 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
iroh_quinn::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
+iroh_quinn::crypto::rustls - Rust 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/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
index b9633fec7..7c8a7b1cf 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
Struct HandshakeData
pub struct HandshakeData {
+HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
pub struct HandshakeData {
pub protocol: Option<Vec<u8>>,
pub server_name: Option<String>,
pub negotiated_key_exchange_group: NamedGroup,
diff --git a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
index d806aa408..1ce33bf8b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust NoInitialCipherSuite
Struct NoInitialCipherSuite
pub struct NoInitialCipherSuite { /* private fields */ }
Expand description
The initial cipher suite (AES-128-GCM-SHA256) is not available
+NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
index 699750c09..54d06690b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
Struct QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
+QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
Quinn 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,19 +12,19 @@ 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§
§impl QuicClientConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicClientConfig
Sourcepub 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.
-Trait Implementations§
§impl ClientConfig for QuicClientConfig
§fn start_session(
+
Trait Implementations§
Source§impl ClientConfig for QuicClientConfig
Source§fn start_session(
self: Arc<QuicClientConfig>,
version: u32,
server_name: &str,
- params: &TransportParameters,
-) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configuration§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.§fn try_from(
+ params: &TransportParameters,
+) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configurationSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ClientConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
index 78a5c5afb..a80bf2aad 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
Struct QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
+QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
Quinn 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,27 +8,27 @@ 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§
§impl QuicServerConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicServerConfig
Sourcepub 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.
-Trait Implementations§
§impl ServerConfig for QuicServerConfig
§fn start_session(
+
Trait Implementations§
Source§impl ServerConfig for QuicServerConfig
Source§fn start_session(
self: Arc<QuicServerConfig>,
version: u32,
- params: &TransportParameters,
-) -> Box<dyn Session>
Start a server session with this configuration Read more§fn initial_keys(
+ params: &TransportParameters,
+) -> Box<dyn Session>
Start a server session with this configuration Read moreSource§fn initial_keys(
&self,
version: u32,
dst_cid: ConnectionId,
-) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§fn retry_tag(
+) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ServerConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
index 2394b3d15..55fa0eedd 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in iroh_quinn::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(
+TlsSession in iroh_quinn::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(
&self,
orig_dst_cid: ConnectionId,
header: &[u8],
payload: &[u8],
-) -> bool
Verify the integrity of a retry packet§fn export_keying_material(
+) -> bool
Verify the integrity of a retry packetSource§fn export_keying_material(
&self,
output: &mut [u8],
label: &[u8],
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
index 6934e5159..c7e440336 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in iroh_quinn::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> Any for Twhere
+CryptoError in iroh_quinn::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> 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/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
index e69c67951..40bed3edb 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in iroh_quinn::crypto - Rust ExportKeyingMaterialError
Struct ExportKeyingMaterialError
pub struct ExportKeyingMaterialError;
Expand description
Error returned by Session::export_keying_material.
+ExportKeyingMaterialError in iroh_quinn::crypto - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/struct.KeyPair.html b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
index 6af709b9f..20757ff04 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in iroh_quinn::crypto - Rust KeyPair
Struct KeyPair
pub struct KeyPair<T> {
+KeyPair in iroh_quinn::crypto - Rust KeyPair
pub struct KeyPair<T> {
pub local: T,
pub remote: T,
}
Expand description
A pair of keys for bidirectional communication
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
index f21f1cec8..491208804 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in iroh_quinn::crypto - Rust Keys
Struct Keys
pub struct Keys {
+Keys in iroh_quinn::crypto - Rust 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/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
index 048be9e61..6e6350375 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in iroh_quinn::crypto - Rust UnsupportedVersion
Struct UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
§impl Debug for UnsupportedVersion
§impl From<UnsupportedVersion> for ConnectError
§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 iroh_quinn::crypto - Rust UnsupportedVersion
ControllerMetrics
Struct ControllerMetrics
#[non_exhaustive]pub struct ControllerMetrics {
+ControllerMetrics in iroh_quinn::congestion - Rust 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§
§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> Any for Twhere
+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> 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/386/docs/iroh_quinn/congestion/struct.Cubic.html b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
index 6eef5f0b0..af26f94a0 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.Cubic.html
@@ -1,26 +1,26 @@
-Cubic in iroh_quinn::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(
+Cubic in iroh_quinn::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(
&mut self,
now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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 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(
+)
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 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/386/docs/iroh_quinn/congestion/struct.CubicConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
index 827a85531..200f73d9a 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.CubicConfig.html
@@ -1,11 +1,11 @@
-CubicConfig in iroh_quinn::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.
+CubicConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<CubicConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/struct.NewReno.html b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
index 90e944e61..d95229378 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewReno.html
@@ -1,30 +1,30 @@
-NewReno in iroh_quinn::congestion - Rust NewReno
Struct NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
-Implementations§
§impl NewReno
pub fn new(
+NewReno in iroh_quinn::congestion - Rust NewReno
pub struct NewReno { /* private fields */ }
Expand description
A simple, standard congestion controller
+Implementations§
Trait Implementations§
Trait Implementations§
Source§impl Controller for NewReno
Source§fn on_ack(
&mut self,
_now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool,
- _rtt: &RttEstimator,
-)
Packet deliveries were confirmed Read more§fn on_congestion_event(
+ _rtt: &RttEstimator,
+)
Packet deliveries were confirmed Read moreSource§fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool,
_is_ecn: bool,
_lost_bytes: u64,
-)
Packets were deemed lost or marked congested Read more§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(
+)
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(
&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.§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/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
index c9fffbb67..89d6dd734 100644
--- a/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
+++ b/pr/386/docs/iroh_quinn/congestion/struct.NewRenoConfig.html
@@ -1,12 +1,12 @@
-NewRenoConfig in iroh_quinn::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.
+NewRenoConfig in iroh_quinn::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.
Recommended value: min(10 * max_datagram_size, max(2 * max_datagram_size, 14720))
-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
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
Source§fn build(
self: Arc<NewRenoConfig>,
now: Instant,
current_mtu: u16,
-) -> Box<dyn Controller>
Construct a fresh Controller§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 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§
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/386/docs/iroh_quinn/congestion/trait.Controller.html b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
index 16510c13e..e0e5882dd 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.Controller.html
@@ -1,4 +1,4 @@
-Controller in iroh_quinn::congestion - Rust Controller
Trait Controller
pub trait Controller:
+Controller in iroh_quinn::congestion - Rust 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§
fn on_congestion_event(
+
Required Methods§
Sourcefn 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.
-
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(
+
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§
Sourcefn on_sent(&mut self, now: Instant, bytes: u64, last_packet_number: u64)
One or more packets were just sent
+Sourcefn 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.
-fn on_end_acks(
+
Sourcefn 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.
-fn on_spurious_congestion_event(&mut self)
Packets were incorrectly deemed lost
+Sourcefn 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.
-fn metrics(&self) -> ControllerMetrics
Retrieve implementation-specific metrics used to populate qlog traces when they are enabled
-Implementors§
\ No newline at end of file
+Sourcefn 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/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
index 0ce2dabef..4b3d57ea9 100644
--- a/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
+++ b/pr/386/docs/iroh_quinn/congestion/trait.ControllerFactory.html
@@ -1,4 +1,4 @@
-ControllerFactory in iroh_quinn::congestion - Rust ControllerFactory
Trait ControllerFactory
pub trait ControllerFactory {
+ControllerFactory in iroh_quinn::congestion - Rust 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§
§impl ControllerFactory for BbrConfig
§impl ControllerFactory for CubicConfig
§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
+
Required Methods§
Implementors§
Source§impl ControllerFactory for BbrConfig
Source§impl ControllerFactory for CubicConfig
Source§impl ControllerFactory for NewRenoConfig
\ No newline at end of file
diff --git a/pr/386/docs/iroh_quinn/crypto/index.html b/pr/386/docs/iroh_quinn/crypto/index.html
index c23f8b15f..615c48abe 100644
--- a/pr/386/docs/iroh_quinn/crypto/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/index.html
@@ -1,4 +1,4 @@
-iroh_quinn::crypto - Rust Module crypto
Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
+iroh_quinn::crypto - Rust Module crypto
Expand description
Traits and implementations for the QUIC cryptography protocol
The protocol logic in Quinn 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/386/docs/iroh_quinn/crypto/rustls/index.html b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
index 4ba52888d..408115e6c 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/index.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/index.html
@@ -1,2 +1,2 @@
-
iroh_quinn::crypto::rustls - Rust Module rustls
Module rustls
Expand description
TLS interface based on rustls
+iroh_quinn::crypto::rustls - Rust 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/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
index b9633fec7..7c8a7b1cf 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.HandshakeData.html
@@ -1,4 +1,4 @@
-HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
Struct HandshakeData
pub struct HandshakeData {
+HandshakeData in iroh_quinn::crypto::rustls - Rust HandshakeData
pub struct HandshakeData {
pub protocol: Option<Vec<u8>>,
pub server_name: Option<String>,
pub negotiated_key_exchange_group: NamedGroup,
diff --git a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
index d806aa408..1ce33bf8b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.NoInitialCipherSuite.html
@@ -1,8 +1,8 @@
-NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust NoInitialCipherSuite
Struct NoInitialCipherSuite
pub struct NoInitialCipherSuite { /* private fields */ }
Expand description
The initial cipher suite (AES-128-GCM-SHA256) is not available
+NoInitialCipherSuite in iroh_quinn::crypto::rustls - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
index 699750c09..54d06690b 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicClientConfig.html
@@ -1,4 +1,4 @@
-QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
Struct QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
+QuicClientConfig in iroh_quinn::crypto::rustls - Rust QuicClientConfig
pub struct QuicClientConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS client configuration
Quinn 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,19 +12,19 @@ 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§
§impl QuicClientConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicClientConfig
Sourcepub 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.
-Trait Implementations§
§impl ClientConfig for QuicClientConfig
§fn start_session(
+
Trait Implementations§
Source§impl ClientConfig for QuicClientConfig
Source§fn start_session(
self: Arc<QuicClientConfig>,
version: u32,
server_name: &str,
- params: &TransportParameters,
-) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configuration§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.§fn try_from(
+ params: &TransportParameters,
+) -> Result<Box<dyn Session>, ConnectError>
Start a client session with this configurationSource§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ClientConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
index 78a5c5afb..a80bf2aad 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.QuicServerConfig.html
@@ -1,4 +1,4 @@
-QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
Struct QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
+QuicServerConfig in iroh_quinn::crypto::rustls - Rust QuicServerConfig
pub struct QuicServerConfig { /* private fields */ }
Expand description
A QUIC-compatible TLS server configuration
Quinn 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,27 +8,27 @@ 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§
§impl QuicServerConfig
pub fn with_initial(
+
Implementations§
Source§impl QuicServerConfig
Sourcepub 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.
-Trait Implementations§
§impl ServerConfig for QuicServerConfig
§fn start_session(
+
Trait Implementations§
Source§impl ServerConfig for QuicServerConfig
Source§fn start_session(
self: Arc<QuicServerConfig>,
version: u32,
- params: &TransportParameters,
-) -> Box<dyn Session>
Start a server session with this configuration Read more§fn initial_keys(
+ params: &TransportParameters,
+) -> Box<dyn Session>
Start a server session with this configuration Read moreSource§fn initial_keys(
&self,
version: u32,
dst_cid: ConnectionId,
-) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§fn retry_tag(
+) -> Result<Keys, UnsupportedVersion>
Create the initial set of keys given the client’s initial destination ConnectionId§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
Source§type Error = NoInitialCipherSuite
The type returned in the event of a conversion error.Source§fn try_from(
inner: Arc<ServerConfig>,
-) -> 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(
+) -> 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(
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/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
index 2394b3d15..55fa0eedd 100644
--- a/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
+++ b/pr/386/docs/iroh_quinn/crypto/rustls/struct.TlsSession.html
@@ -1,11 +1,11 @@
-TlsSession in iroh_quinn::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(
+TlsSession in iroh_quinn::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(
&self,
orig_dst_cid: ConnectionId,
header: &[u8],
payload: &[u8],
-) -> bool
Verify the integrity of a retry packet§fn export_keying_material(
+) -> bool
Verify the integrity of a retry packetSource§fn export_keying_material(
&self,
output: &mut [u8],
label: &[u8],
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
index 6934e5159..c7e440336 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.CryptoError.html
@@ -1,5 +1,5 @@
-CryptoError in iroh_quinn::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> Any for Twhere
+CryptoError in iroh_quinn::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> 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/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
index e69c67951..40bed3edb 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.ExportKeyingMaterialError.html
@@ -1,7 +1,7 @@
-ExportKeyingMaterialError in iroh_quinn::crypto - Rust ExportKeyingMaterialError
Struct ExportKeyingMaterialError
pub struct ExportKeyingMaterialError;
Expand description
Error returned by Session::export_keying_material.
+ExportKeyingMaterialError in iroh_quinn::crypto - Rust 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§
§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§
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§
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/386/docs/iroh_quinn/crypto/struct.KeyPair.html b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
index 6af709b9f..20757ff04 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.KeyPair.html
@@ -1,4 +1,4 @@
-KeyPair in iroh_quinn::crypto - Rust KeyPair
Struct KeyPair
pub struct KeyPair<T> {
+KeyPair in iroh_quinn::crypto - Rust KeyPair
pub struct KeyPair<T> {
pub local: T,
pub remote: T,
}
Expand description
A pair of keys for bidirectional communication
diff --git a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
index f21f1cec8..491208804 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.Keys.html
@@ -1,4 +1,4 @@
-Keys in iroh_quinn::crypto - Rust Keys
Struct Keys
pub struct Keys {
+Keys in iroh_quinn::crypto - Rust 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/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
index 048be9e61..6e6350375 100644
--- a/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
+++ b/pr/386/docs/iroh_quinn/crypto/struct.UnsupportedVersion.html
@@ -1,5 +1,5 @@
-UnsupportedVersion in iroh_quinn::crypto - Rust UnsupportedVersion
Struct UnsupportedVersion
pub struct UnsupportedVersion;
Expand description
Error indicating that the specified QUIC version is not supported
-Trait Implementations§
§impl Debug for UnsupportedVersion
§impl From<UnsupportedVersion> for ConnectError
§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 iroh_quinn::crypto - Rust UnsupportedVersion