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_ecn_ce(congure_snd_t *c, ztimer_now_t time)
Use to override congure_snd_driver_t::report_ecn_ce.
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_init(congure_snd_t *c, void *ctx)
Use to override congure_snd_driver_t::init.
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_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.
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_set_mss(congure_reno_snd_t *c, congure_wnd_size_t mss)
Set sender maximum segment size.
void congure_reno_snd_setup(congure_reno_snd_t *c, const congure_reno_snd_consts_t *consts)
Set-up CongURE implementation of TCP Reno driver and constants.
uint16_t congure_wnd_size_t
Define type for window size to allow for possible window size scaling.
uint32_t ztimer_now_t
type for ztimer_now() result
Constants for the congestion control.
congure_wnd_size_t init_ssthresh
Initial slow-start threshold in initiator-defined units.
congure_wnd_size_t cwnd_upper
Initial upper bound for initial window initiator-defined units.
uint8_t frthresh
Threshold for duplicate ACKs to go into Fast Retransmit.
congure_wnd_size_t cwnd_lower
Initial lower bound for initial window initiator-defined units.
unsigned init_mss
Initial maximum segment size of the sender in intiator-defined units.
State object for CongURE Reno.
uint16_t in_flight_size
Sum of caller-defined units of message sizes of all messages that are yet not ack'd or declared lost.
uint32_t last_ack
ID of the last ACK reported.
congure_wnd_size_t mss
Maximum segment size of the sender in caller-defined units.
congure_snd_t super
see congure_snd_t
uint8_t dup_acks
Number of duplicate ACKs reported.
const congure_reno_snd_consts_t * consts
Constants.
congure_wnd_size_t ssthresh
Slow-start threshold.
Object to represent an ACK to a message.
Object to represent a collection of sent messages.
Base state object for CongURE implementations.