NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Fields
CsEntry Struct Reference

A CS entry. More...

#include <cs-entry.h>

Data Fields

CsNodeprev
 
CsNodenext
 
struct PccEntrypccEntry
 
RTE_MARKER zeroizeBegin_
 
union {
   Packet *   data
 The Data packet. More...
 
   uint64_t   diskSlot
 Disk slot containing the Data packet. More...
 
   CsEntry *   direct
 The direct entry. More...
 
}; 
 
TscTime freshUntil
 When Data becomes non-fresh. More...
 
CsEntryKind kind
 
uint8_t nIndirects
 Count of indirect entries depending on this direct entry. More...
 
CsListID arcList
 
RTE_MARKER zeroizeEnd_
 
CsEntryindirect [CsMaxIndirects]
 Associated indirect entries. More...
 
BdevStoredPacket diskStored
 Disk packet length and alignment descriptor. More...
 

Detailed Description

A CS entry.

This struct is enclosed in PccEntry.

Field Documentation

◆ 

union { ... }

◆ arcList

CsListID CsEntry::arcList

◆ data

Packet* CsEntry::data

The Data packet.

Precondition
kind == CsEntryMemory

◆ direct

CsEntry* CsEntry::direct

The direct entry.

Precondition
kind == CsEntryIndirect

◆ diskSlot

uint64_t CsEntry::diskSlot

Disk slot containing the Data packet.

Precondition
kind == CsEntryDisk

◆ diskStored

BdevStoredPacket CsEntry::diskStored

Disk packet length and alignment descriptor.

Precondition
kind == CsEntryDisk

◆ freshUntil

TscTime CsEntry::freshUntil

When Data becomes non-fresh.

Precondition
kind != CsEntryIndirect

◆ indirect

CsEntry* CsEntry::indirect[CsMaxIndirects]

Associated indirect entries.

Precondition
kind != CsEntryIndirect

◆ kind

CsEntryKind CsEntry::kind

◆ next

CsNode* CsEntry::next

◆ nIndirects

uint8_t CsEntry::nIndirects

Count of indirect entries depending on this direct entry.

Precondition
kind == CsEntryIndirect

A 'direct' CS entry sits in a PccEntry of the enclosed Data packet's exact name. When a Data packet is retrieved with an Interest of a prefix name, an additional 'indirect' CS entry is also placed in a PccEntry of the prefix name, so that future Interests carrying either the exact name or the same prefix name could find the CS entry.

◆ pccEntry

struct PccEntry* CsEntry::pccEntry

◆ prev

CsNode* CsEntry::prev

◆ zeroizeBegin_

RTE_MARKER CsEntry::zeroizeBegin_

◆ zeroizeEnd_

RTE_MARKER CsEntry::zeroizeEnd_

The documentation for this struct was generated from the following file: