The dr_cache_init function creates a persistent handle to the cache, or NULL on failure. It is called by an Init SAF.
PRInt32 dr_cache_init(DrHdl *hdl, RefreshFunc_t ref, FreeFunc_t fre, CompareFunc_t cmp, PRUint32 maxEntries, PRIntervalTime maxAge);
1 if successful.
0 if an error occurs.
The following table describes parameters for the dr_cache_init function.
Table 11–1 dr_cache_init parameters
Parameter |
Description |
---|---|
DrHdl hdl |
Pointer to an unallocated handle. |
RefreshFunc_t ref |
Pointer to a cache refresh function. This can be NULL. See the DR_CHECK flag and DR_EXPIR return value for dr_net_write. |
FreeFunc_t fre |
Pointer to a function that frees an entry. |
CompareFunc_t cmp |
Pointer to a key comparator function. |
PRUint32 maxEntriesp |
Maximum number of entries possible in the cache for a given hdl. |
PRIntervalTime maxAgep |
The maximum amount of time that an entry is valid. If 0, the cache never expires. |
if(!dr_cache_init(&hdl, (RefreshFunc_t)FnRefresh, (FreeFunc_t)FnFree, (CompareFunc_t)FnCompare, 150000, PR_SecondsToInterval(7200))) { ereport(LOG_FAILURE, "dr_cache_init() failed"); return(REQ_ABORTED); }