Trait quinn_proto::congestion::Controller [−][src]
pub trait Controller: Send { fn on_ack(
&mut self,
now: Instant,
sent: Instant,
bytes: u64,
app_limited: bool
); fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool
); fn window(&self) -> u64; fn clone_box(&self) -> Box<dyn Controller>; fn initial_window(&self) -> u64; }
Common interface for different congestion controllers
Required methods
fn on_ack(&mut self, now: Instant, sent: Instant, bytes: u64, app_limited: bool)[src]
Packet deliveries were confirmed
app_limited indicates whether the connection was blocked on outgoing
application data prior to receiving these acknowledgements.
fn on_congestion_event(
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool
)[src]
&mut self,
now: Instant,
sent: Instant,
is_persistent_congestion: bool
)
Packets were deemed lost or marked congested
in_persistent_congestion indicates whether all packets sent within the persistent
congestion threshold period ending when the most recent packet in this batch was sent were
lost.
fn window(&self) -> u64[src]
Number of ack-eliciting bytes that may be in flight
fn clone_box(&self) -> Box<dyn Controller>[src]
Duplicate the controller’s state
fn initial_window(&self) -> u64[src]
Initial congestion window
Implementors
impl Controller for NewReno[src]
impl Controller for NewReno[src]