1#ifndef NDNDPDK_PCCT_CS_LIST_H
2#define NDNDPDK_PCCT_CS_LIST_H
8__attribute__((nonnull))
void
11static __rte_always_inline
void
20static __rte_always_inline
void
31__attribute__((nonnull))
static __rte_always_inline
void
33 CsList_AppendNode_(csl, (
CsNode*)entry);
38__attribute__((nonnull))
static __rte_always_inline
void
41 CsList_RemoveNode_(csl, (
CsNode*)entry);
46__attribute__((nonnull, returns_nonnull))
static __rte_always_inline
CsEntry*
47CsList_GetFront(
CsList* csl) {
53__attribute__((nonnull))
static __rte_always_inline
void
55 CsList_RemoveNode_(csl, (
CsNode*)entry);
56 CsList_AppendNode_(csl, (
CsNode*)entry);
65__attribute__((nonnull)) uint32_t
#define NDNDPDK_ASSERT(x)
Definition common.h:60
void CsList_Init(CsList *csl)
Definition cs-list.c:9
uint32_t CsList_EvictBulk(CsList *csl, uint32_t max, CsList_EvictCb cb, uintptr_t ctx)
Evict up to max entries from front of list.
Definition cs-list.c:16
void(* CsList_EvictCb)(CsEntry *entry, uintptr_t ctx)
Definition cs-list.h:59
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
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