Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4bc53f25e6 | |||
| 956f195ddc | |||
| 64d0e54f87 |
+817
-384
File diff suppressed because it is too large
Load Diff
+29
-8
@@ -11,6 +11,7 @@
|
||||
enum roccet_state {
|
||||
LAUNCH,
|
||||
ORBITER,
|
||||
RTT_PROBE_ENTER,
|
||||
RTT_PROBE,
|
||||
RTT_PROBE_REFILL,
|
||||
DRAIN
|
||||
@@ -37,11 +38,15 @@ struct roccettcp {
|
||||
u32 roccet_last_event_time_us; /* The last time ROCCET was triggered */
|
||||
u32 curr_min_rtt; /* The current observed minRTT */
|
||||
u32 next_min_rtt_probe; /* Next time to probe the minRTT */
|
||||
u32 probe_min_rtt_until; /* End of minRTT probing period */
|
||||
u32 refill_until; /* End of pipe refill after minRTT probe */
|
||||
u32 cwnd_before_min_rtt_probe; /* cwnd before min RTT probeing */
|
||||
u32 probe_min_rtt_until; /* End of minRTT probing period.
|
||||
* Set while in RTT_PROBE states
|
||||
*/
|
||||
u32 refill_until; /* End of pipe refill after minRTT probe.
|
||||
* Set while in RTT_PROBE states
|
||||
*/
|
||||
u32 cwnd_before_min_rtt_probe; /* cwnd before min RTT probing. */
|
||||
u32 curr_srrtt; /* srRTT calculated based on the latest ACK */
|
||||
u32 next_srrtt_check; /* Next check for srRTT */
|
||||
u32 next_srrtt_check_ts; /* Next check for srRTT */
|
||||
u32 last_rtt; /* sample rtt of previous round.
|
||||
* Used for jitter calculation
|
||||
*/
|
||||
@@ -49,13 +54,29 @@ struct roccettcp {
|
||||
u32 interval_snd_seq_start;
|
||||
u32 interval_una_seq_start;
|
||||
|
||||
u32 ack_rate_last_rate_time; /* Timestamp of the last ACK-rate */
|
||||
u32 ack_carry_over; /* Used to carry over leftover acks from
|
||||
* LAUNCH to ORBITER
|
||||
*/
|
||||
|
||||
u32 last_ack_rate_time; /* Timestamp of the last ACK-rate */
|
||||
u16 ack_rate_last_rate; /* Last ACK-rate */
|
||||
u16 ack_rate_curr_rate; /* Current ACK-rate */
|
||||
u16 curr_ack_rate; /* Current ACK-rate */
|
||||
u16 ack_rate_cnt; /* Used for counting acks */
|
||||
|
||||
bool ece_received; /* Set to true if an ECE bit was received */
|
||||
enum roccet_state state; /* State in which roccet currently operates */
|
||||
enum roccet_state state : 3; /* Current operating state of roccet */
|
||||
bool initial_limit_reached: 1; /* Set to true after the connection
|
||||
* initially gets cwnd-limited
|
||||
*/
|
||||
bool is_in_initial_launch: 1; /* true if the connection is in
|
||||
* the initial launch phase.
|
||||
*/
|
||||
bool last_event_time_set: 1; /* true if the last event time
|
||||
* has been set/initialized.
|
||||
*/
|
||||
bool rtt_probe_timers_set: 1; /* true if refill_until and
|
||||
* probe_min_rtt_until are currently
|
||||
* set.
|
||||
*/
|
||||
};
|
||||
|
||||
#endif /* __TCP_ROCCET_H */
|
||||
|
||||
Reference in New Issue
Block a user