35#define CONGURE_WND_SIZE_MAX (UINT16_MAX)
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
Object to represent an ACK to a message.
congure_wnd_size_t wnd
the peer-reported window size in caller defined units.
ztimer_now_t recv_time
Timestamp in milliseconds of when the ACK was received.
uint16_t delay
the peer-reported time in milliseconds the ACK was delayed since message reception.
uint32_t id
ID of the message the ACK is for.
uint16_t clean
true, if ACK only contains an ACK, false if not
congure_wnd_size_t size
size of the ACK in initiator-defined units
Driver for CongURE objects.
void(* report_msg_sent)(congure_snd_t *c, unsigned msg_size)
Report that a message was sent.
void(* report_msgs_lost)(congure_snd_t *c, congure_snd_msg_t *msgs)
Report that a collection of messages that is known to be lost.
void(* init)(congure_snd_t *c, void *ctx)
Initializes a CongURE object.
void(* report_ecn_ce)(congure_snd_t *c, ztimer_now_t time)
Report that "congestion encountered" CE signals were received for a message by means of explicit cong...
void(* report_msgs_timeout)(congure_snd_t *c, congure_snd_msg_t *msgs)
Report that the ACKs for a collection of messages timed out.
int32_t(* inter_msg_interval)(congure_snd_t *c, unsigned msg_size)
Get current interval between messages for pacing.
void(* report_msg_discarded)(congure_snd_t *c, unsigned msg_size)
Report message as discarded.
void(* report_msg_acked)(congure_snd_t *c, congure_snd_msg_t *msg, congure_snd_ack_t *ack)
Report that the ACK for a message was received.
Object to represent a collection of sent messages.
congure_wnd_size_t size
size in initiator-defined units
clist_node_t super
see clist_node_t
ztimer_now_t send_time
timestamp in milliseconds of when the message was sent.
uint8_t resends
number of times the message has already been resent.
Base state object for CongURE implementations.
const congure_snd_driver_t * driver
Driver for the state object.
void * ctx
Context for callbacks specific to the congestion control.
congure_wnd_size_t cwnd
Congestion window size.