This file contains a module that uses an external database to cache dns responses. More...
#include "util/module.h"
Data Structures | |
struct | cachedb_env |
The global variable environment contents for the cachedb Shared between threads, this represents long term information. More... | |
struct | cachedb_qstate |
Per query state for the cachedb module. More... | |
struct | cachedb_backend |
Backend call routines. More... | |
Macros | |
#define | CACHEDB_HASHSIZE 256 /* bit hash */ |
Functions | |
int | cachedb_init (struct module_env *env, int id) |
Init the cachedb module. | |
void | cachedb_deinit (struct module_env *env, int id) |
Deinit the cachedb module. | |
void | cachedb_operate (struct module_qstate *qstate, enum module_ev event, int id, struct outbound_entry *outbound) |
Operate on an event on a query (in qstate). | |
void | cachedb_inform_super (struct module_qstate *qstate, int id, struct module_qstate *super) |
Subordinate query done, inform this super request of its conclusion. | |
void | cachedb_clear (struct module_qstate *qstate, int id) |
clear the cachedb query-specific contents out of qstate | |
size_t | cachedb_get_mem (struct module_env *env, int id) |
return memory estimate for cachedb module | |
struct module_func_block * | cachedb_get_funcblock (void) |
Get the function block with pointers to the cachedb functions. More... | |
int | cachedb_is_enabled (struct module_stack *mods, struct module_env *env) |
See if the cachedb is enabled. More... | |
void | cachedb_msg_remove (struct module_qstate *qstate) |
Remove a message from the global cache. More... | |
void | cachedb_msg_remove_qinfo (struct module_env *env, struct query_info *qinfo) |
Remove message from the cachedb cache, by query info. More... | |
This file contains a module that uses an external database to cache dns responses.
struct module_func_block* cachedb_get_funcblock | ( | void | ) |
Get the function block with pointers to the cachedb functions.
Referenced by module_funcs_avail().
int cachedb_is_enabled | ( | struct module_stack * | mods, |
struct module_env * | env | ||
) |
See if the cachedb is enabled.
mods | module stack. It finds the cachedb module environment. |
env | module environment. |
void cachedb_msg_remove | ( | struct module_qstate * | qstate | ) |
Remove a message from the global cache.
Because edns subnet has a more specific entry, and if not removed when everything expires, the global entry is used, instead of a fresh lookup of the edns subnet entry.
qstate | query state. |
void cachedb_msg_remove_qinfo | ( | struct module_env * | env, |
struct query_info * | qinfo | ||
) |
Remove message from the cachedb cache, by query info.
env | module environment to look up cachedb state. |
qinfo | the message to remove. |
Referenced by bogus_del_msg(), do_cache_remove(), negative_del_msg(), and zone_del_msg().