Many other congestion control mechanisms are just adaptations of TCP Reno, so this makes the methods of CongURE implementation of TCP Reno available to other CongURE - A Congestion control framework modules.
More...
Many other congestion control mechanisms are just adaptations of TCP Reno, so this makes the methods of CongURE implementation of TCP Reno available to other CongURE - A Congestion control framework modules.
Use module congure_reno_methods
to only compile in these modules, but not the driver for congure_reno_snd_t
or congure_reno_snd_setup().
|
void | congure_reno_set_mss (congure_reno_snd_t *c, congure_wnd_size_t mss) |
| Set sender maximum segment size.
|
|
void | congure_reno_snd_init (congure_snd_t *c, void *ctx) |
| Use to override congure_snd_driver_t::init.
|
|
int32_t | congure_reno_snd_inter_msg_interval (congure_snd_t *c, unsigned msg_size) |
| Use to override congure_snd_driver_t::inter_msg_interval.
|
|
void | congure_reno_snd_report_msg_sent (congure_snd_t *c, unsigned msg_size) |
| Use to override congure_snd_driver_t::report_msg_sent.
|
|
void | congure_reno_snd_report_msg_discarded (congure_snd_t *c, unsigned msg_size) |
| Use to override congure_snd_driver_t::report_msg_discarded.
|
|
void | congure_reno_snd_report_msgs_timeout (congure_snd_t *c, congure_snd_msg_t *msgs) |
| Use to override congure_snd_driver_t::report_msgs_timeout.
|
|
void | congure_reno_snd_report_msgs_lost (congure_snd_t *c, congure_snd_msg_t *msgs) |
| Use to override congure_snd_driver_t::report_msgs_lost.
|
|
void | congure_reno_snd_report_msg_acked (congure_snd_t *c, congure_snd_msg_t *msg, congure_snd_ack_t *ack) |
| Use to override congure_snd_driver_t::report_msg_acked.
|
|
void | congure_reno_snd_report_ecn_ce (congure_snd_t *c, ztimer_now_t time) |
| Use to override congure_snd_driver_t::report_ecn_ce.
|
|
◆ congure_reno_set_mss()
Set sender maximum segment size.
- Attention
- This resets congure_reno_snd_t::cwnd to the new initial window size based on
mss
. So use with care.
- Parameters
-
[in] | c | A CongURE state object |
[in] | mss | Maximum segment size of the sender in caller-defined units |
◆ congure_reno_snd_init()
Use to override congure_snd_driver_t::init.
- Parameters
-
[in,out] | c | The CongURE object to initialize. |
[in] | ctx | Context for callbacks specific to the congestion control (such as a TCP PCB). May be NULL. |
◆ congure_reno_snd_inter_msg_interval()
int32_t congure_reno_snd_inter_msg_interval |
( |
congure_snd_t * |
c, |
|
|
unsigned |
msg_size |
|
) |
| |
◆ congure_reno_snd_report_ecn_ce()
Use to override congure_snd_driver_t::report_ecn_ce.
- Parameters
-
[in] | c | The CongURE state object. |
[in] | time | Timestamp in milliseconds of the message the CE event occurred for was sent. |
◆ congure_reno_snd_report_msg_acked()
◆ congure_reno_snd_report_msg_discarded()
void congure_reno_snd_report_msg_discarded |
( |
congure_snd_t * |
c, |
|
|
unsigned |
msg_size |
|
) |
| |
◆ congure_reno_snd_report_msg_sent()
void congure_reno_snd_report_msg_sent |
( |
congure_snd_t * |
c, |
|
|
unsigned |
msg_size |
|
) |
| |
◆ congure_reno_snd_report_msgs_lost()
Use to override congure_snd_driver_t::report_msgs_lost.
- Parameters
-
[in] | c | The CongURE state object. |
[in] | msgs | A collection of messages for which the ACK timed out. The list must not be changed by the method. |
◆ congure_reno_snd_report_msgs_timeout()