You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code supports multiple congestion control algorithms, spread onto multiple binaries: cc_common.c, newreno.c, cubic.c and prague.c. The common and newreno parts are well tested, but the coverage of cubic.c and prague.c is limited. For cubic.c, we have some duplication of code between the standard version and the delay based version, dcubic. Code inspection also shows that the "recovery" state of cubic is not well implemented. The prague code is very similar to the new reno code, the main difference being the handling of ECN signals.
These algorithms all have the same basic state machine:
a startup phase, implemented as hystart, using code from cc_common.c,
a congestion avoidance phase, during which different algorithms use different logic,
a recovery phase, during which the congestion control state is frozen until acknowledgement of new packets is received.
That commonality could be used to put more code components in common.
The text was updated successfully, but these errors were encountered:
The code supports multiple congestion control algorithms, spread onto multiple binaries: cc_common.c, newreno.c, cubic.c and prague.c. The common and newreno parts are well tested, but the coverage of
cubic.c
andprague.c
is limited. Forcubic.c
, we have some duplication of code between the standard version and the delay based version,dcubic
. Code inspection also shows that the "recovery" state of cubic is not well implemented. Theprague
code is very similar to thenew reno
code, the main difference being the handling of ECN signals.These algorithms all have the same basic state machine:
hystart
, using code fromcc_common.c
,That commonality could be used to put more code components in common.
The text was updated successfully, but these errors were encountered: