NDN-DPDK
High-Speed Named Data Networking Forwarder
Loading...
Searching...
No Matches
fetcher.h
Go to the documentation of this file.
1#ifndef NDNDPDK_FETCH_FETCHER_H
2#define NDNDPDK_FETCH_FETCHER_H
3
5
6#include "../core/uring.h"
7#include "../dpdk/thread.h"
8#include "../iface/face.h"
9#include "../iface/pktqueue.h"
10#include "logic.h"
11
13typedef struct FetchTask {
14 struct cds_hlist_node fthNode;
17 uint32_t segmentLen;
18 int fd;
19 uint8_t index;
20 int8_t worker;
21
29
31typedef struct FetchThread {
34
35 struct rte_mempool* interestMp;
36 struct cds_hlist_head tasksHead;
37 pcg32_random_t nonceRng;
40
41 uint32_t uringCapacity;
43
44__attribute__((nonnull)) int
46
47#endif // NDNDPDK_FETCH_FETCHER_H
uint16_t FaceID
Numeric face identifier.
Definition faceid.h:13
int FetchThread_Run(FetchThread *fth)
Definition fetcher.c:157
Fetcher congestion control and scheduling logic.
Definition logic.h:13
Fetch task that fetches from one prefix.
Definition fetcher.h:13
struct cds_hlist_node fthNode
FetchThread.head node.
Definition fetcher.h:14
int8_t worker
FetchThread index running this task, -1 if inactive.
Definition fetcher.h:20
int fd
if non-negative, write content to file
Definition fetcher.h:18
uint8_t index
task slot index, used as PIT token
Definition fetcher.h:19
PktQueue queueD
Definition fetcher.h:15
FetchLogic logic
Definition fetcher.h:16
InterestTemplate tpl
Name prefix and Interest template.
Definition fetcher.h:27
uint32_t segmentLen
expected segment length, used for writing to file
Definition fetcher.h:17
Fetch thread that can simultaneously process several fetch tasks.
Definition fetcher.h:31
ThreadCtrl ctrl
Definition fetcher.h:33
pcg32_random_t nonceRng
Definition fetcher.h:37
uint32_t uringCapacity
Definition fetcher.h:41
FaceID face
Definition fetcher.h:39
struct cds_hlist_head tasksHead
Definition fetcher.h:36
Uring ur
Definition fetcher.h:32
struct rte_mempool * interestMp
Definition fetcher.h:35
uint32_t uringWaitLbound
Definition fetcher.h:38
Template for Interest encoding.
Definition interest.h:84
Thread-safe packet queue.
Definition pktqueue.h:23
Thread load stats and stop flag.
Definition thread.h:10
io_uring and related counters.
Definition uring.h:11