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.