NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
tcpcubic.h
Go to the documentation of this file.
1 #ifndef NDNDPDK_FETCH_TCPCUBIC_H
2 #define NDNDPDK_FETCH_TCPCUBIC_H
3 
6 #include "../dpdk/tsc.h"
7 
12 typedef 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
24 TcpCubic_GetCwnd(TcpCubic* ca) {
25  return RTE_MAX((uint32_t)ca->cwnd, 1);
26 }
27 
29 __attribute__((nonnull)) void
30 TcpCubic_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
struct TcpCubic TcpCubic
TCP CUBIC algorithm.
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