# network/nic/congestion_control.h ## class CongestionControl — public interface ### `explicit CongestionControl(Bytes init_cwnd, Bytes max_cwnd) noexcept;` ### `virtual ~CongestionControl() = default;` ### `Bytes cwnd() const noexcept { ... }` ### `Bytes cwnd_max() const noexcept { ... }` ## class DCQCN — public interface ### `explicit DCQCN(Bytes init_cwnd, Bytes max_cwnd) noexcept;` ### `virtual void update(const Packet& pkt, Time rtt) noexcept override;` ## class NSCC — public interface ### `explicit NSCC(Bytes init_cwnd, Bytes max_cwnd) noexcept;` ### `virtual void update(const Packet& pkt, Time rtt) noexcept override;`