1#ifndef NDNDPDK_PCCT_CS_ARC_H
2#define NDNDPDK_PCCT_CS_ARC_H
8#define CsArc_MoveDir(src, dst) (((uint16_t)(src) << 16) | ((uint16_t)(dst) << 0))
10#define CsArc_MoveDirC(src, dst) CsArc_MoveDir(CslDirect##src, CslDirect##dst)
18__attribute__((nonnull, returns_nonnull))
static __rte_always_inline
CsList*
28__attribute__((nonnull))
void
32__attribute__((nonnull))
static __rte_always_inline uint32_t
33CsArc_GetCapacity(
const CsArc* arc) {
38static __rte_always_inline uint32_t
39CsArc_CountEntries(
const CsArc* arc) {
48__attribute__((nonnull))
void
52__attribute__((nonnull))
void
const ptrdiff_t CsArc_ListOffsets_[]
Definition cs-arc.c:7
void CsArc_Remove(CsArc *arc, CsEntry *entry)
Remove an entry.
Definition cs-arc.c:178
void CsArc_Add(CsArc *arc, CsEntry *entry)
Add or refresh an entry.
Definition cs-arc.c:146
void CsArc_Init(CsArc *arc, uint32_t c, uint32_t capB2)
Initialize ARC.
Definition cs-arc.c:60
CsListID
Definition cs-enum.h:18
#define CsArc_c(arc)
Access c as uint32.
Definition cs-struct.h:44
Lists for Adaptive Replacement Cache (ARC).
Definition cs-struct.h:30
CsList T1
stored entries that appeared once
Definition cs-struct.h:33
CsList T2
stored entries that appeared more than once
Definition cs-struct.h:35
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