Electroneum
val_neg_cache Struct Reference

#include <val_neg.h>

Collaboration diagram for val_neg_cache:

Public Attributes

lock_basic_type lock
 
rbtree_type tree
 
struct val_neg_datafirst
 
struct val_neg_datalast
 
size_t use
 
size_t max
 
size_t nsec3_max_iter
 
size_t num_neg_cache_noerror
 
size_t num_neg_cache_nxdomain
 

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.

Definition at line 67 of file val_neg.h.

Member Data Documentation

◆ first

struct val_neg_data* val_neg_cache::first

the first in linked list of LRU of val_neg_data

Definition at line 74 of file val_neg.h.

◆ last

struct val_neg_data* val_neg_cache::last

last in lru (least recently used element)

Definition at line 76 of file val_neg.h.

◆ lock

lock_basic_type 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

Definition at line 70 of file val_neg.h.

◆ max

size_t val_neg_cache::max

max memory to use (bytes)

Definition at line 80 of file val_neg.h.

◆ nsec3_max_iter

size_t val_neg_cache::nsec3_max_iter

max nsec3 iterations allowed

Definition at line 82 of file val_neg.h.

◆ num_neg_cache_noerror

size_t val_neg_cache::num_neg_cache_noerror

number of times neg cache records were used to generate NOERROR responses.

Definition at line 85 of file val_neg.h.

◆ num_neg_cache_nxdomain

size_t val_neg_cache::num_neg_cache_nxdomain

number of times neg cache records were used to generate NXDOMAIN responses.

Definition at line 88 of file val_neg.h.

◆ tree

rbtree_type val_neg_cache::tree

The zone rbtree. contents sorted canonical, type val_neg_zone

Definition at line 72 of file val_neg.h.

◆ use

size_t val_neg_cache::use

current memory in use (bytes)

Definition at line 78 of file val_neg.h.


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