Loading...
Searching...
No Matches

Constants for the congestion control. More...

Detailed Description

Constants for the congestion control.

Example usage (to use the same values as specified in RFC 9002):

static const congure_quic_snd_consts_t consts = {
.cong_event_cb = _maybe_send_one_pkt,
.init_wnd = 12000, // 10 * max_datagram_size
.min_wnd = 2400, // 2 * max_datagram_size
.init_rtt = 333, // kInitialRtt = 333ms
.max_msg_size = 1200, // max_datagram_size
.pc_thresh = 3000, // kPersistentCongestionThreshold = 3s
.granularity = 1, // kGranularity = 1ms
.loss_reduction_numerator = 1, // kLossReductionFactor = .5
.loss_reduction_denominator = 2,
.inter_msg_interval_numerator = 5, // Pacing factor N = 1.25
.inter_msg_interval_denominator = 4,
}
static congure_quic_snd_t cong;
// ...
congure_quic_snd_setup(&cong, &const);
void congure_quic_snd_setup(congure_quic_snd_t *c, const congure_quic_snd_consts_t *consts)
Set's up the driver for a CongURE QUIC object.
Constants for the congestion control.
Definition quic.h:57
void(* cong_event_cb)(void *ctx)
congestion event callback
Definition quic.h:68
State object for CongURE QUIC.
Definition quic.h:134

Definition at line 57 of file quic.h.

#include <quic.h>

Data Fields

void(* cong_event_cb )(void *ctx)
 congestion event callback
 
congure_wnd_size_t init_wnd
 Initial congestion window size in initiator-defined units.
 
congure_wnd_size_t min_wnd
 minimum congestion window size in initiator-defined units.
 
uint16_t init_rtt
 The assumed RTT in milliseconds before an RTT sample is taken.
 
uint16_t max_msg_size
 maximum message size in initiator-defined units.
 
uint16_t pc_thresh
 period of time in milliseconds for persistent congestion to be establisched
 
uint16_t granularity
 system timer granularity in milliseconds (typically 1)
 
uint8_t loss_reduction_numerator
 numerator for the factor the congestion window should be reduced by when a new loss event is detected
 
uint8_t loss_reduction_denominator
 denominator for the factor the congestion window should be reduced by when a new loss event is detected
 
uint8_t inter_msg_interval_numerator
 numerator for the factor N used to adapt the message interval
 
uint8_t inter_msg_interval_denominator
 denominator for the factor N used to adapt the message interval
 

Field Documentation

◆ cong_event_cb

void(* congure_quic_snd_consts_t::cong_event_cb) (void *ctx)

congestion event callback

This callback is called when congestion event is detected by message loss or a CE notification. QUIC typically uses this to send a packet to speed up loss recovery.

Parameters
[in]ctxcallback context

Definition at line 68 of file quic.h.

◆ granularity

uint16_t congure_quic_snd_consts_t::granularity

system timer granularity in milliseconds (typically 1)

Definition at line 100 of file quic.h.

◆ init_rtt

uint16_t congure_quic_snd_consts_t::init_rtt

The assumed RTT in milliseconds before an RTT sample is taken.

Definition at line 83 of file quic.h.

◆ init_wnd

congure_wnd_size_t congure_quic_snd_consts_t::init_wnd

Initial congestion window size in initiator-defined units.

Definition at line 73 of file quic.h.

◆ inter_msg_interval_denominator

uint8_t congure_quic_snd_consts_t::inter_msg_interval_denominator

denominator for the factor N used to adapt the message interval

See also
RFC 9002, section 7.7

Definition at line 126 of file quic.h.

◆ inter_msg_interval_numerator

uint8_t congure_quic_snd_consts_t::inter_msg_interval_numerator

numerator for the factor N used to adapt the message interval

See also
RFC 9002, section 7.7

Definition at line 119 of file quic.h.

◆ loss_reduction_denominator

uint8_t congure_quic_snd_consts_t::loss_reduction_denominator

denominator for the factor the congestion window should be reduced by when a new loss event is detected

Definition at line 112 of file quic.h.

◆ loss_reduction_numerator

uint8_t congure_quic_snd_consts_t::loss_reduction_numerator

numerator for the factor the congestion window should be reduced by when a new loss event is detected

Definition at line 106 of file quic.h.

◆ max_msg_size

uint16_t congure_quic_snd_consts_t::max_msg_size

maximum message size in initiator-defined units.

Definition at line 88 of file quic.h.

◆ min_wnd

congure_wnd_size_t congure_quic_snd_consts_t::min_wnd

minimum congestion window size in initiator-defined units.

Definition at line 78 of file quic.h.

◆ pc_thresh

uint16_t congure_quic_snd_consts_t::pc_thresh

period of time in milliseconds for persistent congestion to be establisched

See also
RFC 9002, section 7.6

Definition at line 95 of file quic.h.


The documentation for this struct was generated from the following file: