val_neg_cache
struct val_neg_cache;
struct val_neg_cache* neg_cache;
size_t val_neg_get_mem(struct val_neg_cache* neg)
neg_find_nsec(struct val_neg_cache* neg_cache, uint8_t* qname, size_t qname_len,
void neg_cache_delete(struct val_neg_cache* neg)
val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
static void neg_lru_front(struct val_neg_cache* neg,
val_neg_adjust_size(struct val_neg_cache* neg, size_t max)
static void neg_lru_remove(struct val_neg_cache* neg,
static void neg_lru_touch(struct val_neg_cache* neg,
static void neg_delete_zone(struct val_neg_cache* neg, struct val_neg_zone* z)
void neg_delete_data(struct val_neg_cache* neg, struct val_neg_data* el)
static void neg_make_space(struct val_neg_cache* neg, size_t need)
struct val_neg_zone* neg_find_zone(struct val_neg_cache* neg,
static struct val_neg_zone* neg_closest_zone_parent(struct val_neg_cache* neg,
struct val_neg_zone* neg_create_zone(struct val_neg_cache* neg,
static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
void neg_insert_data(struct val_neg_cache* neg,
struct val_neg_cache* val_neg_create(struct config_file* cfg, size_t maxiter)
void val_neg_addreply(struct val_neg_cache* neg, struct reply_info* rep)
struct val_neg_cache* neg = (struct val_neg_cache*)calloc(1,
void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
struct val_neg_cache* val_neg_create(struct config_file* cfg, size_t maxiter);
size_t val_neg_get_mem(struct val_neg_cache* neg);
void neg_cache_delete(struct val_neg_cache* neg);
void val_neg_addreply(struct val_neg_cache* neg, struct reply_info* rep);
void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
struct dns_msg* val_neg_getmsg(struct val_neg_cache* neg,
void neg_insert_data(struct val_neg_cache* neg,
void neg_delete_data(struct val_neg_cache* neg, struct val_neg_data* el);
struct val_neg_zone* neg_find_zone(struct val_neg_cache* neg,
struct val_neg_zone* neg_create_zone(struct val_neg_cache* neg,
void val_neg_adjust_size(struct val_neg_cache* neg, size_t max);
struct val_neg_cache;
struct val_neg_cache* neg_cache;
struct val_neg_cache *unified_neg_cache;
struct val_neg_cache* neg;
static void add_item(struct val_neg_cache* neg)
static void remove_item(struct val_neg_cache* neg)
static size_t sumtrees_all(struct val_neg_cache* neg)
static size_t sumtrees_inuse(struct val_neg_cache* neg)
static void check_lru(struct val_neg_cache* neg)
static int sum_zone_subtree_inuse(struct val_neg_cache* neg,
static void check_zone_invariants(struct val_neg_cache* neg,
static void check_neg_invariants(struct val_neg_cache* neg)
static void stress_test(struct val_neg_cache* neg)
struct val_neg_cache* neg;
static void print_neg_cache(struct val_neg_cache* neg)
struct val_neg_cache;
struct val_neg_cache* neg_cache;
size_t val_neg_get_mem(struct val_neg_cache* neg)
neg_find_nsec(struct val_neg_cache* neg_cache, uint8_t* qname, size_t qname_len,
void neg_cache_delete(struct val_neg_cache* neg)
val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
static void neg_lru_front(struct val_neg_cache* neg,
val_neg_adjust_size(struct val_neg_cache* neg, size_t max)
static void neg_lru_remove(struct val_neg_cache* neg,
static void neg_lru_touch(struct val_neg_cache* neg,
static void neg_delete_zone(struct val_neg_cache* neg, struct val_neg_zone* z)
void neg_delete_data(struct val_neg_cache* neg, struct val_neg_data* el)
static void neg_make_space(struct val_neg_cache* neg, size_t need)
struct val_neg_zone* neg_find_zone(struct val_neg_cache* neg,
static struct val_neg_zone* neg_closest_zone_parent(struct val_neg_cache* neg,
struct val_neg_zone* neg_create_zone(struct val_neg_cache* neg,
static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
void neg_insert_data(struct val_neg_cache* neg,
struct val_neg_cache* val_neg_create(struct config_file* cfg, size_t maxiter)
void val_neg_addreply(struct val_neg_cache* neg, struct reply_info* rep)
struct val_neg_cache* neg = (struct val_neg_cache*)calloc(1,
void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
struct val_neg_cache* val_neg_create(struct config_file* cfg, size_t maxiter);
size_t val_neg_get_mem(struct val_neg_cache* neg);
void neg_cache_delete(struct val_neg_cache* neg);
void val_neg_addreply(struct val_neg_cache* neg, struct reply_info* rep);
void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
struct dns_msg* val_neg_getmsg(struct val_neg_cache* neg,
void neg_insert_data(struct val_neg_cache* neg,
void neg_delete_data(struct val_neg_cache* neg, struct val_neg_data* el);
struct val_neg_zone* neg_find_zone(struct val_neg_cache* neg,
struct val_neg_zone* neg_create_zone(struct val_neg_cache* neg,
void val_neg_adjust_size(struct val_neg_cache* neg, size_t max);
struct val_neg_cache;
struct val_neg_cache* neg_cache;