ndn-lite
Data Structures | Macros | Typedefs | Enumerations | Functions
Name Tree

Name Tree. More...

Collaboration diagram for Name Tree:

Data Structures

struct  nametree_entry
 NameTree node. More...
 

Macros

#define NDN_NAMETREE_RESERVE_SIZE(entry_count)   (sizeof(nametree_entry_t) * (entry_count))
 

Typedefs

typedef struct nametree_entry nametree_entry_t
 NameTree node. More...
 
typedef nametree_entry_t ndn_nametree_t[]
 

Enumerations

enum  NDN_NAMETREE_ENTRY_TYPE {
  NDN_NAMETREE_FIB_TYPE, NDN_NAMETREE_PIT_TYPE, NDN_NAMETREE_ENTRY_TYPE_CNT, NDN_NAMETREE_FIB_TYPE,
  NDN_NAMETREE_PIT_TYPE, NDN_NAMETREE_ENTRY_TYPE_CNT
}
 

Functions

void ndn_nametree_init (void *memory, ndn_table_id_t capacity)
 
nametree_entry_tndn_nametree_find_or_insert (ndn_nametree_t *nametree, uint8_t name[], size_t len)
 
nametree_entry_tndn_nametree_prefix_match (ndn_nametree_t *nametree, uint8_t name[], size_t len, enum NDN_NAMETREE_ENTRY_TYPE type)
 
nametree_entry_tndn_nametree_find (ndn_nametree_t *nametree, uint8_t name[], size_t len)
 
nametree_entry_tndn_nametree_at (ndn_nametree_t *self, ndn_table_id_t id)
 
ndn_table_id_t ndn_nametree_getid (ndn_nametree_t *self, nametree_entry_t *entry)
 

Detailed Description

Name Tree.

Macro Definition Documentation

◆ NDN_NAMETREE_RESERVE_SIZE

#define NDN_NAMETREE_RESERVE_SIZE (   entry_count)    (sizeof(nametree_entry_t) * (entry_count))

Typedef Documentation

◆ nametree_entry_t

NameTree node.

◆ ndn_nametree_t

Enumeration Type Documentation

◆ NDN_NAMETREE_ENTRY_TYPE

Enumerator
NDN_NAMETREE_FIB_TYPE 
NDN_NAMETREE_PIT_TYPE 
NDN_NAMETREE_ENTRY_TYPE_CNT 
NDN_NAMETREE_FIB_TYPE 
NDN_NAMETREE_PIT_TYPE 
NDN_NAMETREE_ENTRY_TYPE_CNT 

Function Documentation

◆ ndn_nametree_at()

nametree_entry_t* ndn_nametree_at ( ndn_nametree_t self,
ndn_table_id_t  id 
)

◆ ndn_nametree_find()

nametree_entry_t* ndn_nametree_find ( ndn_nametree_t nametree,
uint8_t  name[],
size_t  len 
)

◆ ndn_nametree_find_or_insert()

nametree_entry_t* ndn_nametree_find_or_insert ( ndn_nametree_t nametree,
uint8_t  name[],
size_t  len 
)

◆ ndn_nametree_getid()

ndn_table_id_t ndn_nametree_getid ( ndn_nametree_t self,
nametree_entry_t entry 
)

◆ ndn_nametree_init()

void ndn_nametree_init ( void *  memory,
ndn_table_id_t  capacity 
)

◆ ndn_nametree_prefix_match()

nametree_entry_t* ndn_nametree_prefix_match ( ndn_nametree_t nametree,
uint8_t  name[],
size_t  len,
enum NDN_NAMETREE_ENTRY_TYPE  type 
)