summaryrefslogtreecommitdiffabout
authorSergey Poznyakoff <gray@gnu.org.ua>2016-02-08 11:21:21 (GMT)
committer Sergey Poznyakoff <gray@gnu.org.ua>2016-02-08 15:05:22 (GMT)
commit32a55b403a2bbd774aed5b714d25ddad4e062d4f (patch) (side-by-side diff)
treeccdf5eecef4f32a6a32c5b68115a49d78603734a
parentc9f6dc168ead762e02db1e27c5bc7c42282c9e50 (diff)
downloadvmod-tbf-32a55b403a2bbd774aed5b714d25ddad4e062d4f.tar.gz
vmod-tbf-32a55b403a2bbd774aed5b714d25ddad4e062d4f.tar.bz2
Fix debug levels. Document data structures.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/tbf.c9
-rw-r--r--src/tbf.h19
2 files changed, 15 insertions, 13 deletions
diff --git a/src/tbf.c b/src/tbf.c
index f906e7c..129e1f5 100644
--- a/src/tbf.c
+++ b/src/tbf.c
@@ -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));
diff --git a/src/tbf.h b/src/tbf.h
index 9a9765c..f01ba61 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -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 */
};

Return to:

Send suggestions and report system problems to the System administrator.