[or-cvs] Remove "tree" references from dns.
Nick Mathewson
nickm at seul.org
Sat Dec 3 02:01:21 UTC 2005
Update of /home/or/cvsroot/tor/src/or
In directory moria:/tmp/cvs-serv1087/src/or
Modified Files:
dns.c
Log Message:
Remove "tree" references from dns.
Index: dns.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/dns.c,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -d -r1.174 -r1.175
--- dns.c 23 Nov 2005 04:18:45 -0000 1.174
+++ dns.c 3 Dec 2005 02:01:18 -0000 1.175
@@ -51,7 +51,7 @@
} pending_connection_t;
/** A DNS request: possibly completed, possibly pending; cached_resolve
- * structs are stored at the OR side in a splay tree, and as a linked
+ * structs are stored at the OR side in a hash table, and as a linked
* list from oldest to newest.
*/
typedef struct cached_resolve_t {
@@ -76,8 +76,8 @@
static int spawn_enough_dnsworkers(void);
static void send_resolved_cell(connection_t *conn, uint8_t answer_type);
-/** Splay tree of cached_resolve objects. */
-static HT_HEAD(cache_tree, cached_resolve_t) cache_root;
+/** Hash table of cached_resolve objects. */
+static HT_HEAD(cache_map, cached_resolve_t) cache_root;
/** Function to compare hashed resolves on their addresses; used to
* implement splay trees. */
@@ -94,14 +94,14 @@
return ht_string_hash(a->address);
}
-HT_PROTOTYPE(cache_tree, cached_resolve_t, node, cached_resolve_hash,
+HT_PROTOTYPE(cache_map, cached_resolve_t, node, cached_resolve_hash,
cached_resolves_eq);
-HT_GENERATE(cache_tree, cached_resolve_t, node, cached_resolve_hash,
+HT_GENERATE(cache_map, cached_resolve_t, node, cached_resolve_hash,
cached_resolves_eq, 0.6, malloc, realloc, free);
/** Initialize the DNS cache. */
static void
-init_cache_tree(void)
+init_cache_map(void)
{
HT_INIT(&cache_root);
}
@@ -110,7 +110,7 @@
void
dns_init(void)
{
- init_cache_tree();
+ init_cache_map();
dnsworkers_rotate();
}
@@ -131,12 +131,12 @@
dns_free_all(void)
{
cached_resolve_t **ptr, **next, *item;
- for (ptr = HT_START(cache_tree, &cache_root); ptr != NULL; ptr = next) {
+ for (ptr = HT_START(cache_map, &cache_root); ptr != NULL; ptr = next) {
item = *ptr;
- next = HT_NEXT_RMV(cache_tree, &cache_root, ptr);
+ next = HT_NEXT_RMV(cache_map, &cache_root, ptr);
_free_cached_resolve(item);
}
- HT_CLEAR(cache_tree, &cache_root);
+ HT_CLEAR(cache_map, &cache_root);
}
/** Linked list of resolved addresses, oldest to newest. */
@@ -182,7 +182,7 @@
oldest_cached_resolve = resolve->next;
if (!oldest_cached_resolve) /* if there are no more, */
newest_cached_resolve = NULL; /* then make sure the list's tail knows that too */
- HT_REMOVE(cache_tree, &cache_root, resolve);
+ HT_REMOVE(cache_map, &cache_root, resolve);
tor_free(resolve);
}
}
@@ -225,8 +225,8 @@
conn->cpath_layer);
}
-/** Link <b>r</b> into the tree of address-to-result mappings, and add it to
- * the linked list of resolves-by-age. */
+/** Link <b>r</b> into the hash table of address-to-result mappings, and add it
+ * to the linked list of resolves-by-age. */
static void
insert_resolve(cached_resolve_t *r)
{
@@ -238,7 +238,7 @@
}
newest_cached_resolve = r;
- HT_INSERT(cache_tree, &cache_root, r);
+ HT_INSERT(cache_map, &cache_root, r);
}
/** See if we have a cache entry for <b>exitconn</b>-\>address. if so,
@@ -273,7 +273,7 @@
}
/* then take this opportunity to see if there are any expired
- * resolves in the tree. */
+ * resolves in the hash table. */
purge_expired_resolves(now);
/* lower-case exitconn->address, so it's in canonical form */
@@ -281,7 +281,7 @@
/* now check the tree to see if 'address' is already there. */
strlcpy(search.address, exitconn->address, sizeof(search.address));
- resolve = HT_FIND(cache_tree, &cache_root, &search);
+ resolve = HT_FIND(cache_map, &cache_root, &search);
if (resolve) { /* already there */
switch (resolve->state) {
case CACHE_STATE_PENDING:
@@ -391,7 +391,7 @@
strlcpy(search.address, conn->address, sizeof(search.address));
- resolve = HT_FIND(cache_tree, &cache_root, &search);
+ resolve = HT_FIND(cache_map, &cache_root, &search);
if (!resolve) {
/* XXXX RD This *is* a bug, right? -NM */
notice(LD_BUG,"Address '%s' is not pending. Dropping.", safe_str(conn->address));
@@ -432,7 +432,7 @@
pending_connection_t *pend;
cached_resolve_t **resolve;
- HT_FOREACH(resolve, cache_tree, &cache_root) {
+ HT_FOREACH(resolve, cache_map, &cache_root) {
for (pend = (*resolve)->pending_connections;
pend;
pend = pend->next) {
@@ -449,7 +449,7 @@
pending_connection_t *pend;
cached_resolve_t **resolve;
- HT_FOREACH(resolve, cache_tree, &cache_root) {
+ HT_FOREACH(resolve, cache_map, &cache_root) {
for (pend = (*resolve)->pending_connections;
pend;
pend = pend->next) {
@@ -475,7 +475,7 @@
strlcpy(search.address, address, sizeof(search.address));
- resolve = HT_FIND(cache_tree, &cache_root, &search);
+ resolve = HT_FIND(cache_map, &cache_root, &search);
if (!resolve) {
/* XXXX RD This *is* a bug, right? -NM */
notice(LD_BUG,"Address '%s' is not pending. Dropping.", safe_str(address));
@@ -537,7 +537,7 @@
}
/* remove resolve from the tree */
- HT_REMOVE(cache_tree, &cache_root, resolve);
+ HT_REMOVE(cache_map, &cache_root, resolve);
tor_free(resolve);
}
@@ -560,7 +560,7 @@
strlcpy(search.address, address, sizeof(search.address));
- resolve = HT_FIND(cache_tree, &cache_root, &search);
+ resolve = HT_FIND(cache_map, &cache_root, &search);
if (!resolve) {
info(LD_EXIT,"Resolved unasked address '%s'; caching anyway.",
safe_str(address));
More information about the tor-commits
mailing list