1
.TH "cache_handler: Maintains a cache of data for use by lower level handlers." 3 "19 Mar 2004" "net-snmp" \" -*- nroff -*-
5
cache_handler: Maintains a cache of data for use by lower level handlers. \- This helper checks to see whether the data has been loaded 'recently' (according to the timeout for that particular cache) and calls the registered 'load_cache' routine if necessary.
11
.RI "\fBnetsnmp_mib_handler\fP * \fBnetsnmp_get_cache_handler\fP (int timeout, NetsnmpCacheLoad *load_hook, NetsnmpCacheFree *free_hook, oid *rootoid, int rootoid_len)"
13
.RI "\fIreturns a cache handler that can be injected into a given handler chain.\fP"
15
.RI "int \fBnetsnmp_register_cache_handler\fP (\fBnetsnmp_handler_registration\fP *reginfo, int timeout, NetsnmpCacheLoad *load_hook, NetsnmpCacheFree *free_hook)"
17
.RI "\fIfunctionally the same as calling \fBnetsnmp_register_handler()\fP but also injects a cache handler at the same time for you.\fP"
19
.RI "netsnmp_cache * \fBnetsnmp_extract_cache_info\fP (netsnmp_agent_request_info *reqinfo)"
21
.RI "\fIExtract the cache information for a given request.\fP"
23
.RI "int \fBnetsnmp_is_cache_valid\fP (netsnmp_agent_request_info *reqinfo)"
25
.RI "\fIIs the cache valid for a given request?\fP"
27
.RI "int \fBnetsnmp_cache_helper_handler\fP (\fBnetsnmp_mib_handler\fP *handler, \fBnetsnmp_handler_registration\fP *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)"
29
.RI "\fIImplements the cache handler.\fP"
31
.RI "void \fBrelease_cached_resources\fP (unsigned int regNo, void *clientargs)"
33
.RI "\fIrun regularly to automatically release cached resources.\fP"
35
.SH "DETAILED DESCRIPTION"
37
This helper checks to see whether the data has been loaded 'recently' (according to the timeout for that particular cache) and calls the registered 'load_cache' routine if necessary.
39
The lower handlers can then work with this local cached data.
40
.SH "FUNCTION DOCUMENTATION"
42
.SS "int netsnmp_cache_helper_handler (\fBnetsnmp_mib_handler\fP * handler, \fBnetsnmp_handler_registration\fP * reginfo, netsnmp_agent_request_info * reqinfo, netsnmp_request_info * requests)"
44
Implements the cache handler.
46
Definition at line 107 of file cache_handler.c.
48
References atime_newMarker(), atime_ready(), atime_setMarker(), netsnmp_agent_request_info_s::mode, netsnmp_mib_handler_s::myvoid, netsnmp_call_next_handler(), netsnmp_create_data_list(), release_cached_resources(), netsnmp_handler_registration_s::rootoid, netsnmp_handler_registration_s::rootoid_len, snmp_alarm_register(), and snmp_log().
50
Referenced by netsnmp_get_cache_handler().
51
.SS "netsnmp_cache* netsnmp_extract_cache_info (netsnmp_agent_request_info * reqinfo)"
53
Extract the cache information for a given request.
55
Definition at line 92 of file cache_handler.c.
57
Referenced by netsnmp_is_cache_valid().
58
.SS "\fBnetsnmp_mib_handler\fP* netsnmp_get_cache_handler (int timeout, NetsnmpCacheLoad * load_hook, NetsnmpCacheFree * free_hook, oid * rootoid, int rootoid_len)"
60
returns a cache handler that can be injected into a given handler chain.
62
Definition at line 39 of file cache_handler.c.
64
References netsnmp_mib_handler_s::myvoid, netsnmp_cache_helper_handler(), netsnmp_create_handler(), and SNMP_MALLOC_TYPEDEF.
66
Referenced by netsnmp_register_cache_handler().
67
.SS "int netsnmp_is_cache_valid (netsnmp_agent_request_info * reqinfo)"
69
Is the cache valid for a given request?
71
Definition at line 99 of file cache_handler.c.
73
References netsnmp_extract_cache_info().
74
.SS "int netsnmp_register_cache_handler (\fBnetsnmp_handler_registration\fP * reginfo, int timeout, NetsnmpCacheLoad * load_hook, NetsnmpCacheFree * free_hook)"
76
functionally the same as calling \fBnetsnmp_register_handler()\fP but also injects a cache handler at the same time for you.
78
Definition at line 78 of file cache_handler.c.
80
References netsnmp_get_cache_handler(), netsnmp_inject_handler(), netsnmp_register_handler(), netsnmp_handler_registration_s::rootoid, and netsnmp_handler_registration_s::rootoid_len.
81
.SS "void release_cached_resources (unsigned int regNo, void * clientargs)"
83
run regularly to automatically release cached resources.
85
Definition at line 206 of file cache_handler.c.
87
References atime_ready(), release_cached_resources(), and snmp_alarm_register().
89
Referenced by netsnmp_cache_helper_handler(), and release_cached_resources().