NDN-DPDK
High-Speed Named Data Networking Forwarder
Loading...
Searching...
No Matches
tcpcubic.h
Go to the documentation of this file.
1#ifndef NDNDPDK_FETCH_TCPCUBIC_H
2#define NDNDPDK_FETCH_TCPCUBIC_H
3
5
6#include "../dpdk/tsc.h"
7
12typedef struct TcpCubic {
14 double cwnd;
15 double wMax;
16 double k;
17 double ssthresh;
19
20__attribute__((nonnull)) void
22
23__attribute__((nonnull)) static inline uint32_t
24TcpCubic_GetCwnd(TcpCubic* ca) {
25 return RTE_MAX((uint32_t)ca->cwnd, 1);
26}
27
29__attribute__((nonnull)) void
30TcpCubic_Increase(TcpCubic* ca, TscTime now, double sRtt);
31
37__attribute__((nonnull)) void
39
40#endif // NDNDPDK_FETCH_TCPCUBIC_H
TCP CUBIC algorithm.
Definition tcpcubic.h:12
double cwnd
Definition tcpcubic.h:14
TscTime t0
Definition tcpcubic.h:13
double ssthresh
Definition tcpcubic.h:17
double k
Definition tcpcubic.h:16
double wMax
Definition tcpcubic.h:15
void TcpCubic_Decrease(TcpCubic *ca, TscTime now)
Window decrease.
Definition tcpcubic.c:54
void TcpCubic_Init(TcpCubic *ca)
Definition tcpcubic.c:8
void TcpCubic_Increase(TcpCubic *ca, TscTime now, double sRtt)
Window increase.
Definition tcpcubic.c:29
uint64_t TscTime
TSC clock time point.
Definition tsc.h:9