Sun Java System Web Server 7.0 Update 4 NSAPI Developer's Guide

dr_cache_init() Function

The dr_cache_init function creates a persistent handle to the cache, or NULL on failure. This function 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.

DrHdl hdl

Pointer to an unallocated handle.

RefreshFunc_t ref

Pointer to a cache refresh function. This value 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);
}