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]

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

Loading content...

Implementors

impl Controller for NewReno[src]

Loading content...