#include "main.h"
#include "TCP.h"
#include <intrin.h>
Go to the source code of this file.
|
| static PCONGESTIONVAR | get_congestionvar (PNETSIM_SOCKET s) |
| |
| static void | set_congestionvar (PNETSIM_SOCKET s, PCONGESTIONVAR data) |
| |
| static void | set_cwnd (PNETSIM_SOCKET s, UINT32 newcwnd) |
| |
| static UINT32 | get_cwnd (PNETSIM_SOCKET s) |
| |
| static void | set_ssthres (PNETSIM_SOCKET s, UINT32 newssthres) |
| |
| static UINT32 | get_ssthres (PNETSIM_SOCKET s) |
| |
| static void | increase_cwnd (PNETSIM_SOCKET s, UINT16 increase) |
| |
| static bool | tcp_in_slow_start (PNETSIM_SOCKET s) |
| |
| static bool | isDupAck (PNETSIM_SOCKET s, PCONGESTIONVAR var) |
| |
| static UINT64 | div64_u64 (UINT64 dividend, UINT64 divisor) |
| |
| static bool | before (UINT32 seq1, UINT32 seq2) |
| |
| static UINT | count_bit (UINT64 n) |
| |
| static void | slowStart (PNETSIM_SOCKET s, PCONGESTIONVAR var) |
| |
| static void | cubictcp_reset (PCUBIC ca) |
| |
| static UINT32 | cubictcp_clock (void) |
| |
| static void | cubictcp_hystart_reset (PNETSIM_SOCKET sk) |
| |
| static void | cubictcp_init (PNETSIM_SOCKET sk, PTCP_DEV_VAR tcp) |
| |
| void | init_cubic (PNETSIM_SOCKET s) |
| |
| static UINT32 | cubic_root (UINT64 a) |
| |
| static UINT32 | cubictcp_recalc_ssthresh (PNETSIM_SOCKET sk) |
| |
| static void | cubictcp_update (PNETSIM_SOCKET sk, UINT32 acked) |
| |
| static void | cubictcp_cong_avoid (PNETSIM_SOCKET sk, UINT32 segmentAcked) |
| |
| static void | hystart_update (PNETSIM_SOCKET sk, UINT32 delay) |
| |
| static void | cubictcp_acked (PNETSIM_SOCKET sk) |
| |
| static void | cubictcp_fastretransmit (PNETSIM_SOCKET s) |
| |
| static void | FastRecovery (PNETSIM_SOCKET s, PCONGESTIONVAR var) |
| |
| void | cubic_ack_received (PNETSIM_SOCKET s) |
| |
◆ after
| #define after |
( |
|
seq2, |
|
|
|
seq1 |
|
) |
| before(seq1, seq2) |
◆ BICTCP_BETA_SCALE
| #define BICTCP_BETA_SCALE |
Value:
Definition at line 29 of file CUBIC.c.
◆ BICTCP_HZ
| #define BICTCP_HZ 10 /* BIC HZ 2^10 = 1024 */ |
◆ clamp
| #define clamp |
( |
|
val, |
|
|
|
lo, |
|
|
|
hi |
|
) |
| min(max(val, lo), hi) |
◆ CUBIC_HZ
◆ do_div
| #define do_div |
( |
|
x, |
|
|
|
y |
|
) |
| (x=x/y) |
◆ HYSTART_ACK_TRAIN
| #define HYSTART_ACK_TRAIN 0x1 |
◆ HYSTART_DELAY
| #define HYSTART_DELAY 0x2 |
◆ HYSTART_DELAY_MAX
| #define HYSTART_DELAY_MAX (16U<<3) |
◆ HYSTART_DELAY_MIN
| #define HYSTART_DELAY_MIN (4U<<3) |
◆ HYSTART_DELAY_THRESH
◆ HYSTART_MIN_SAMPLES
| #define HYSTART_MIN_SAMPLES 8 |
◆ tcp_time_stamp
◆ CONGESTIONVAR
◆ CUBIC
◆ PCONGESTIONVAR
◆ PCUBIC
◆ before()
◆ count_bit()
◆ cubic_ack_received()
◆ cubic_root()
◆ cubictcp_acked()
◆ cubictcp_clock()
| static UINT32 cubictcp_clock |
( |
void |
| ) |
|
|
inlinestatic |
◆ cubictcp_cong_avoid()
◆ cubictcp_fastretransmit()
◆ cubictcp_hystart_reset()
◆ cubictcp_init()
◆ cubictcp_recalc_ssthresh()
◆ cubictcp_reset()
| static void cubictcp_reset |
( |
PCUBIC |
ca | ) |
|
|
inlinestatic |
◆ cubictcp_update()
◆ div64_u64()
div64_u64 - unsigned 64bit divide with 64bit divisor
Definition at line 208 of file CUBIC.c.
◆ FastRecovery()
◆ get_congestionvar()
◆ get_cwnd()
◆ get_ssthres()
◆ hystart_update()
◆ increase_cwnd()
◆ init_cubic()
◆ isDupAck()
◆ set_congestionvar()
◆ set_cwnd()
◆ set_ssthres()
◆ slowStart()
◆ tcp_in_slow_start()
◆ beta_scale
◆ cube_factor
◆ cube_rtt_scale
◆ fast_convergence
◆ hystart
◆ hystart_detect
◆ tcp_friendliness