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. | |
| int | cachedb_is_enabled (struct module_stack *mods, struct module_env *env) | 
| See if the cachedb is enabled. | |
| void | cachedb_msg_remove (struct module_qstate *qstate) | 
| Remove a message from the global cache. | |
| void | cachedb_msg_remove_qinfo (struct module_env *env, struct query_info *qinfo) | 
| Remove message from the cachedb cache, by query info. | |
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. | 
Referenced by daemon_fork(), and fr_reload_config().
| 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().