1
0
mirror of https://code.semirocket.science/wrapsix synced 2025-12-15 02:05:13 +02:00

Revised radix tree

Dropped chunker duplication and created one universal
Rewritten function for deleting entries from the tree
  (limiting the tree to 32 levels)
This commit is contained in:
Michal Zima
2012-04-27 15:25:29 +02:00
parent d7e506abed
commit 9ac06588a8
3 changed files with 54 additions and 85 deletions

View File

@@ -30,15 +30,14 @@ typedef struct radixtree {
radixtree_t *radixtree_create(void);
void radixtree_destroy(radixtree_t *t, unsigned char depth);
void radixtree_insert(radixtree_t *root,
unsigned char *(chunker)(void *data, unsigned char *count),
void *search_data, void *data);
unsigned char *(chunker)(void *data, unsigned char size, unsigned char *count),
void *search_data, unsigned char size, void *data);
void radixtree_delete(radixtree_t *root,
unsigned char *(chunker)(void *data, unsigned char *count),
void *data);
unsigned char *(chunker)(void *data, unsigned char size, unsigned char *count),
void *data, unsigned char size);
void *radixtree_lookup(radixtree_t *root,
unsigned char *(chunker)(void *data, unsigned char *count),
void *data);
unsigned char *radixtree_ipv6_chunker(void *data, unsigned char *count);
unsigned char *radixtree_ipv4_chunker(void *data, unsigned char *count);
unsigned char *(chunker)(void *data, unsigned char size, unsigned char *count),
void *data, unsigned char size);
unsigned char *radixtree_chunker(void *data, unsigned char size, unsigned char *count);
#endif /* RADIXTREE_H */