1 #ifndef NDNDPDK_PCCT_CS_ENTRY_H
2 #define NDNDPDK_PCCT_CS_ENTRY_H
6 #include "../dpdk/bdev.h"
7 #include "../ndni/packet.h"
12 __attribute__((returns_nonnull))
static inline const char*
86 __attribute__((nonnull))
static inline void
92 __attribute__((nonnull))
static __rte_always_inline
CsEntry*
93 CsEntry_GetDirect(
CsEntry* entry) {
101 __attribute__((nonnull))
static inline void
102 CsEntry_FreeData(
CsEntry* entry) {
104 rte_pktmbuf_free(Packet_ToMbuf(entry->
data));
114 __attribute__((nonnull))
static inline bool
123 indirect->
direct = direct;
128 __attribute__((nonnull))
static inline void
129 CsEntry_Disassoc(
CsEntry* indirect) {
135 if (direct->
indirect[i] == indirect) {
#define NDNDPDK_ASSERT(x)
Definition: common.h:60
#define NULLize(x)
Set x to NULL to expose memory access bugs.
Definition: common.h:79
const char * CsEntryKind_Strings_[]
Definition: cs-entry.c:3
@ CsMaxIndirects
Definition: cs-enum.h:7
CsListID
Definition: cs-enum.h:18
CsEntryKind
Definition: cs-enum.h:11
@ CsEntryIndirect
Definition: cs-enum.h:15
@ CsEntryMemory
Definition: cs-enum.h:13
@ CsEntryNone
Definition: cs-enum.h:12
struct Packet Packet
Definition: common.h:11
Length and alignment descriptor of a stored packet.
Definition: bdev.h:21
A CS entry.
Definition: cs-entry.h:22
CsEntry * indirect[CsMaxIndirects]
Associated indirect entries.
Definition: cs-entry.h:75
TscTime freshUntil
When Data becomes non-fresh.
Definition: cs-entry.h:52
CsNode * next
Definition: cs-entry.h:24
uint64_t diskSlot
Disk slot containing the Data packet.
Definition: cs-entry.h:39
struct PccEntry * pccEntry
Definition: cs-entry.h:25
CsListID arcList
Definition: cs-entry.h:68
CsEntry * direct
The direct entry.
Definition: cs-entry.h:45
uint8_t nIndirects
Count of indirect entries depending on this direct entry.
Definition: cs-entry.h:66
RTE_MARKER zeroizeEnd_
Definition: cs-entry.h:69
CsNode * prev
Definition: cs-entry.h:23
CsEntryKind kind
Definition: cs-entry.h:54
BdevStoredPacket diskStored
Disk packet length and alignment descriptor.
Definition: cs-entry.h:81
RTE_MARKER zeroizeBegin_
Definition: cs-entry.h:27
Packet * data
The Data packet.
Definition: cs-entry.h:33
The prev-next pointers common in CsEntry and CsList.
Definition: cs-struct.h:12
PIT-CS composite entry.
Definition: pcc-entry.h:56
uint64_t TscTime
TSC clock time point.
Definition: tsc.h:9