1 #ifndef NDNDPDK_PCCT_CS_STRUCT_H
2 #define NDNDPDK_PCCT_CS_STRUCT_H
6 #include "../core/common.h"
44 #define CsArc_c(arc) ((arc)->B1.capacity)
47 #define CsArc_2c(arc) ((arc)->Del.capacity)
50 #define CsArc_p(arc) ((arc)->T1.capacity)
53 #define CsArc_p1(arc) ((arc)->T2.capacity)
CsListID
Definition: cs-enum.h:18
void(* CsArc_MoveCb)(CsEntry *entry, CsListID src, CsListID dst, uintptr_t ctx)
Definition: cs-struct.h:27
struct CsArc CsArc
Lists for Adaptive Replacement Cache (ARC).
struct Cs Cs
The Content Store (CS).
struct CsList CsList
A doubly linked list within CS.
Lists for Adaptive Replacement Cache (ARC).
Definition: cs-struct.h:30
CsList B2
tracked entries that appeared more than once
Definition: cs-struct.h:36
CsArc_MoveCb moveCb
handler function when entry is moved between lists
Definition: cs-struct.h:39
CsList T1
stored entries that appeared once
Definition: cs-struct.h:33
CsList Del
deleted entries
Definition: cs-struct.h:37
CsList T2
stored entries that appeared more than once
Definition: cs-struct.h:35
uintptr_t moveCtx
context argument to moveCb
Definition: cs-struct.h:40
CsList B1
tracked entries that appeared once
Definition: cs-struct.h:34
double c
capacity c as float
Definition: cs-struct.h:31
double p
target size of T1
Definition: cs-struct.h:32
A CS entry.
Definition: cs-entry.h:22
A doubly linked list within CS.
Definition: cs-struct.h:18
uint32_t count
number of entries
Definition: cs-struct.h:21
uint32_t capacity
unused by CsList
Definition: cs-struct.h:22
CsNode * next
front pointer, self if list is empty
Definition: cs-struct.h:20
CsNode * prev
back pointer, self if list is empty
Definition: cs-struct.h:19
The prev-next pointers common in CsEntry and CsList.
Definition: cs-struct.h:12
CsNode * prev
Definition: cs-struct.h:13
CsNode * next
Definition: cs-struct.h:14
The Content Store (CS).
Definition: cs-struct.h:63
uint64_t nDiskFull
Definition: cs-struct.h:75
CsArc direct
ARC lists of direct entries.
Definition: cs-struct.h:64
uint64_t nHitDisk
Definition: cs-struct.h:71
uint64_t nDiskInsert
Definition: cs-struct.h:73
uint64_t nHitMemory
Definition: cs-struct.h:70
uint64_t nDiskDelete
Definition: cs-struct.h:74
uint64_t nHitIndirect
Definition: cs-struct.h:72
DiskStore * diskStore
Definition: cs-struct.h:67
DiskAlloc * diskAlloc
Definition: cs-struct.h:68
CsList indirect
LRU list of indirect entries.
Definition: cs-struct.h:65
Disk slot allocator.
Definition: alloc.h:14
Disk-backed Data packet store.
Definition: store.h:40