Sun Java System Web Server 6.1 SP7 NSAPI Programmer's Guide

dr_cache_init

The dr_cache_init function creates a persistent handle to the cache, or NULL on failure. It is called by an Init SAF.

Syntax

PRInt32 dr_cache_init(DrHdl *hdl, RefreshFunc_t ref, FreeFunc_t fre, 
CompareFunc_t cmp, PRUint32 maxEntries, PRIntervalTime maxAge);

Returns

1 if successful.

0 if an error occurs.

Parameters

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.

Example

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);
}