NDN-DPDK
High-Speed Named Data Networking Forwarder
Loading...
Searching...
No Matches
logic.h
Go to the documentation of this file.
1#ifndef NDNDPDK_FETCH_LOGIC_H
2#define NDNDPDK_FETCH_LOGIC_H
3
5
6#include "../core/rttest.h"
7#include "tcpcubic.h"
8#include "window.h"
9
10typedef TAILQ_HEAD(FetchRetxQueue, FetchSeg) FetchRetxQueue;
11
27
28__attribute__((nonnull)) void
29FetchLogic_Init(FetchLogic* fl, uint32_t winCapacity, int numaSocket);
30
31__attribute__((nonnull)) void
33
34__attribute__((nonnull)) void
35FetchLogic_Reset(FetchLogic* fl, uint64_t segmentBegin, uint64_t segmentEnd);
36
42__attribute__((nonnull)) size_t
43FetchLogic_TxInterestBurst(FetchLogic* fl, uint64_t* segNums, size_t limit, TscTime now);
44
45typedef struct FetchLogicRxData {
46 uint64_t segNum;
47 uint8_t congMark;
50
56__attribute__((nonnull)) void
57FetchLogic_RxDataBurst(FetchLogic* fl, const FetchLogicRxData* pkts, size_t count, TscTime now);
58
59#endif // NDNDPDK_FETCH_LOGIC_H
void FetchLogic_Reset(FetchLogic *fl, uint64_t segmentBegin, uint64_t segmentEnd)
Definition logic.c:168
void FetchLogic_Init(FetchLogic *fl, uint32_t winCapacity, int numaSocket)
Definition logic.c:151
void FetchLogic_RxDataBurst(FetchLogic *fl, const FetchLogicRxData *pkts, size_t count, TscTime now)
Notify Data arrival.
Definition logic.c:121
void FetchLogic_Free(FetchLogic *fl)
Definition logic.c:162
typedef TAILQ_HEAD(FetchRetxQueue, FetchSeg) FetchRetxQueue
size_t FetchLogic_TxInterestBurst(FetchLogic *fl, uint64_t *segNums, size_t limit, TscTime now)
Request to transmit a burst of Interests.
Definition logic.c:40
Definition logic.h:45
uint8_t congMark
Definition logic.h:47
bool isFinalBlock
Definition logic.h:48
uint64_t segNum
Definition logic.h:46
Fetcher congestion control and scheduling logic.
Definition logic.h:13
TscTime startTime
start time
Definition logic.h:20
struct cds_list_head retxQ
Definition logic.h:17
uint32_t nInFlight
count of in-flight Interests
Definition logic.h:25
TscTime nextCwndDec
when cwnd may be decreased again
Definition logic.h:22
TscTime finishTime
finish time, 0 if not finished
Definition logic.h:21
MinSched * sched
Definition logic.h:18
RttEst rtte
Definition logic.h:15
FetchWindow win
Definition logic.h:14
uint64_t segmentEnd
last segnum desired plus one
Definition logic.h:19
uint64_t nTxRetx
retransmitted Interests
Definition logic.h:23
TcpCubic ca
Definition logic.h:16
uint64_t nRxData
non-duplicate Data
Definition logic.h:24
Per-segment state.
Definition window.h:15
Window of segment states.
Definition window.h:34
Minute scheduler.
Definition mintmr.h:22
RTT estimator.
Definition rttest.h:55
TCP CUBIC algorithm.
Definition tcpcubic.h:12
uint64_t TscTime
TSC clock time point.
Definition tsc.h:9