108 void on_acks(
size_t bytes,
size_t packets)
override;
Interface that the user should implement, passing the implementing Logger into logging classes (Flow'...
Utility class for use by Congestion_control_strategy implementations that implements congestion windo...
Classic congestion control, based on Reno (TCP RFC 5681), with congestion avoidance,...
Congestion_control_classic_data m_classic_data
The Reno CWND/SSTHRESH-changing engine and CWND/SSTHRESH storage.
void on_acks(size_t bytes, size_t packets) override
Implements Congestion_control_strategy::on_acks() API.
void on_idle_timeout() override
Implements Congestion_control_strategy::on_idle_timeout() API.
void on_drop_timeout(size_t bytes, size_t packets) override
Implements Congestion_control_strategy::on_drop_timeout() API.
unsigned int congestion_window_decay() const
Returns the decay (as a percentage) to apply to the congestion window upon encounterling loss.
size_t congestion_window_bytes() const override
Implements Congestion_control_strategy::congestion_window_bytes() API.
Congestion_control_classic(log::Logger *logger_ptr, Peer_socket::Const_ptr sock)
Constructs object by setting up logging and saving a pointer to the containing Peer_socket.
void on_loss_event(size_t bytes, size_t packets) override
Implements Congestion_control_strategy::on_loss_event() API.
The abstract interface for a per-socket module that determines the socket's congestion control behavi...
Const_target_ptr Const_ptr
Short-hand for ref-counted pointer to immutable values of type Target_type::element_type (a-la T cons...
Flow module containing the API and implementation of the Flow network protocol, a TCP-inspired stream...