diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-02-08 13:21:21 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-02-08 17:05:22 +0200 |
commit | 32a55b403a2bbd774aed5b714d25ddad4e062d4f (patch) | |
tree | ccdf5eecef4f32a6a32c5b68115a49d78603734a | |
parent | c9f6dc168ead762e02db1e27c5bc7c42282c9e50 (diff) | |
download | vmod-tbf-32a55b403a2bbd774aed5b714d25ddad4e062d4f.tar.gz vmod-tbf-32a55b403a2bbd774aed5b714d25ddad4e062d4f.tar.bz2 |
Fix debug levels. Document data structures.
-rw-r--r-- | src/tbf.c | 9 | ||||
-rw-r--r-- | src/tbf.h | 19 |
2 files changed, 15 insertions, 13 deletions
@@ -45,7 +45,7 @@ lru_link_node(struct tree *tree, struct node *node, struct node *ref) tree->head = node; } else { struct node *x; - //debug(0, ("LINK %p %p %p", node, ref, ref->next)); + node->prev = ref; node->next = ref->next; if ((x = ref->next)) @@ -665,7 +665,7 @@ tree_load_nodes(struct tree *tree, struct dump_header *hdr, uint32_t len; uint32_t flags; - debug(0,("Load record %lu/%lu %lu", i, hdr->count, incomplete)); + debug(3,("Load record %lu/%lu %lu", i, hdr->count, incomplete)); if (READREC(fp, len)) return -1; @@ -724,7 +724,7 @@ tree_load_nodes(struct tree *tree, struct dump_header *hdr, np->tokens = node.tokens; #if DEBUG np->keystr = node.keystr; - debug(0, ("loaded %p: %s %1x (%lu,%lu): time: %"PRIu64" us, tokens: %lu", + debug(3, ("loaded %p: %s %1x (%lu,%lu): time: %"PRIu64" us, tokens: %lu", np, np->keystr, flags, @@ -768,7 +768,6 @@ tree_load_nodes(struct tree *tree, struct dump_header *hdr, return 1; } tree->root = nodes[hdr->root]; -// debug(0,("Loaded nodes")); return 0; } @@ -792,7 +791,7 @@ tree_load(char const *filename) else { struct node **nodes; - debug(0,("elements: %"PRIu32", size: %"PRIu32", root: %"PRIu32, + debug(3,("elements: %"PRIu32", size: %"PRIu32", root: %"PRIu32, header.count, header.size, header.root)); tree = tree_create(); nodes = calloc(header.count, sizeof(*nodes)); @@ -61,20 +61,23 @@ enum { CHILD_LEFT, CHILD_RIGHT }; #define FL_CHILD_LEFT 0x1 #define FL_CHILD_RIGHT 0x2 -enum { NST_INCOMPLETE, NST_INIT }; +enum node_status { NST_INCOMPLETE, NST_INIT }; struct node { uint8_t key[SHA256_LEN]; #ifdef DEBUG char *keystr; #endif - struct node *parent; - struct node *child[2]; - struct node *prev, *next; - pthread_cond_t notbusy; - int busy:1; - int status; - uint32_t ord; + struct node *parent; /* Parent node */ + struct node *child[2]; /* Left and right child nodes */ + struct node *prev, *next; /* More (prev) and less (next) recently + updated nodes. */ + pthread_cond_t notbusy; /* Prevent simultaneous updates */ + int busy:1; /* Node is in use if 1 */ + enum node_status status; /* Node status */ + uint32_t ord; /* Used when dumping nodes and computing tree + stats */ + /* Actual TBF payload: */ uint64_t timestamp; /* microseconds since epoch */ size_t tokens; /* tokens available */ }; |