Driver for CongURE objects.
More...
Driver for CongURE objects.
Definition at line 119 of file congure.h.
#include <congure.h>
◆ init
Initializes a CongURE object.
- 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. |
Definition at line 128 of file congure.h.
◆ inter_msg_interval
int32_t(* congure_snd_driver::inter_msg_interval) (congure_snd_t *c, unsigned msg_size) |
Get current interval between messages for pacing.
- Parameters
-
[in] | c | The CongURE state object. |
[in] | msg_size | The size of the next message to send in caller-defined unit. |
- Returns
- The current interval between sent messages in microseconds when pacing supported by congestion control implementation.
-
-1, if pacing is not supported by the congestion control implementation.
Definition at line 142 of file congure.h.
◆ report_ecn_ce
Report that "congestion encountered" CE signals were received for a message by means of explicit congestion notification (ECN).
- Parameters
-
[in] | c | The CongURE state object. |
[in] | time | Timestamp in milliseconds of the message the CE event occurred for was sent. |
Definition at line 217 of file congure.h.
◆ report_msg_acked
Report that the ACK for a message was received.
- Parameters
-
[in] | c | The CongURE state object. |
[in] | msg | The ACK'd message. |
[in] | ack | The received ACK. |
Definition at line 205 of file congure.h.
◆ report_msg_discarded
void(* congure_snd_driver::report_msg_discarded) (congure_snd_t *c, unsigned msg_size) |
Report message as discarded.
Discarded messages are not further taken into account for congestion control.
- Parameters
-
[in] | c | The CongURE state object. |
[in] | msg_size | Size of the discarded message in caller-defined unit. |
Definition at line 162 of file congure.h.
◆ report_msg_sent
void(* congure_snd_driver::report_msg_sent) (congure_snd_t *c, unsigned msg_size) |
Report that a message was sent.
- Parameters
-
[in] | c | The CongURE state object. |
[in] | msg_size | Size of the message in caller-defined unit. |
Definition at line 150 of file congure.h.
◆ report_msgs_lost
Report that a collection of messages that is known to be lost.
One indicator for a lost message may e.g. be the reception of an ACK of a later sent packet, but not a ACK timeout (see congure_snd_driver_t::report_msgs_timeout() for that).
- Note
- As many congestion control algorithms do not distinguish loss and ACK timeout, this method and congure_snd_t::report_msgs_timeout need to have the same signature so the same function can be used here
- Parameters
-
[in] | c | The CongURE state object. |
[in] | msgs | A collection of messages that are known to be lost. The list must not be be changed by the method. |
Definition at line 196 of file congure.h.
◆ report_msgs_timeout
Report that the ACKs for a collection of messages timed out.
- Note
- As many congestion control algorithms do not distinguish loss and ACK timeout, this method and congure_snd_t::report_msgs_lost need to have the same signature so the same function can be used here
- 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. |
Definition at line 177 of file congure.h.
The documentation for this struct was generated from the following file: