val_neg_cache Struct Reference

The negative cache. More...

#include <val_neg.h>


Data Fields

lock_basic_t lock
 the big lock on the negative cache.
rbtree_t tree
 The zone rbtree.
struct val_neg_datafirst
 the first in linked list of LRU of val_neg_data
struct val_neg_datalast
 last in lru (least recently used element)
size_t use
 current memory in use (bytes)
size_t max
 max memory to use (bytes)
size_t nsec3_max_iter
 max nsec3 iterations allowed


Detailed Description

The negative cache.

It is shared between the threads, so locked. Kept as validator-environ-state. It refers back to the rrset cache for data elements. It can be out of date and contain conflicting data from zone content changes. It contains a tree of zones, every zone has a tree of data elements. The data elements are part of one big LRU list, with one memory counter.


Field Documentation

lock_basic_t val_neg_cache::lock

the big lock on the negative cache.

Because we use a rbtree for the data (quick lookup), we need a big lock

Referenced by add_item(), check_neg_invariants(), neg_cache_delete(), remove_item(), val_neg_addreferral(), val_neg_addreply(), val_neg_create(), val_neg_dlvlookup(), val_neg_get_mem(), and val_neg_getmsg().


The documentation for this struct was generated from the following file:

Generated on Tue Oct 13 06:46:34 2009 for unbound by  doxygen 1.5.9