GME  13
Defines | Typedefs | Functions | Variables
Resource List Routines
APR Utility Functions
Collaboration diagram for Resource List Routines:

Defines

#define APR_RESLIST_CLEANUP_DEFAULT   0
#define APR_RESLIST_CLEANUP_FIRST   1

Typedefs

typedef struct apr_reslist_t apr_reslist_t
typedef apr_status_t(* apr_reslist_constructor )(void **resource, void *params, apr_pool_t *pool)
typedef apr_status_t(* apr_reslist_destructor )(void *resource, void *params, apr_pool_t *pool)

Functions

 APU_DECLARE (apr_status_t) apr_reslist_create(apr_reslist_t **reslist
 APU_DECLARE (void) apr_reslist_timeout_set(apr_reslist_t *reslist
 APU_DECLARE (apr_uint32_t) apr_reslist_acquired_count(apr_reslist_t *reslist)

Variables

int min
int int smax
int int int hmax
int int int apr_interval_time_t ttl
int int int
apr_interval_time_t
apr_reslist_constructor 
con
int int int
apr_interval_time_t
apr_reslist_constructor
apr_reslist_destructor 
de
int int int
apr_interval_time_t
apr_reslist_constructor
apr_reslist_destructor void * 
params
int int int
apr_interval_time_t
apr_reslist_constructor
apr_reslist_destructor void
apr_pool_t
pool
void ** resource
apr_interval_time_t timeout
apr_uint32_t mode

Define Documentation

default pool cleanup

Definition at line 63 of file apr_reslist.h.

#define APR_RESLIST_CLEANUP_FIRST   1

use pool pre cleanup

Definition at line 64 of file apr_reslist.h.


Typedef Documentation

Definition at line 50 of file apr_reslist.h.

Definition at line 59 of file apr_reslist.h.

typedef struct apr_reslist_t apr_reslist_t

Opaque resource list object

Definition at line 42 of file apr_reslist.h.


Function Documentation

Create a new resource list with the following parameters:

Parameters:
reslistAn address where the pointer to the new resource list will be stored.
minAllowed minimum number of available resources. Zero creates new resources only when needed.
smaxResources will be destroyed during reslist maintenance to meet this maximum restriction as they expire (reach their ttl).
hmaxAbsolute maximum limit on the number of total resources.
ttlIf non-zero, sets the maximum amount of time in microseconds an unused resource is valid. Any resource which has exceeded this time will be destroyed, either when encountered by apr_reslist_acquire() or during reslist maintenance.
conConstructor routine that is called to create a new resource.
deDestructor routine that is called to destroy an expired resource.
paramsPassed to constructor and deconstructor
poolThe pool from which to create this resource list. Also the same pool that is passed to the constructor and destructor routines.
Remarks:
If APR has been compiled without thread support, hmax will be automatically set to 1 and values of min and smax will be forced to 1 for any non-zero value.

Destroy the given resource list and all resources controlled by this list. FIXME: Should this block until all resources become available, or maybe just destroy all the free ones, or maybe destroy them even though they might be in use by something else? Currently it will abort if there are resources that haven't been released, so there is an assumption that all resources have been released to the list before calling this function.

Parameters:
reslistThe reslist to destroy

Retrieve a resource from the list, creating a new one if necessary. If we have met our maximum number of resources, we will block until one becomes available.

Return a resource back to the list of available resources.

Invalidate a resource in the pool - e.g. a database connection that returns a "lost connection" error and can't be restored. Use this instead of apr_reslist_release if the resource is bad.

Perform routine maintenance on the resource list. This call may instantiate new resources or expire old resources.

Parameters:
reslistThe resource list.
APU_DECLARE ( void  )

Set the timeout the acquire will wait for a free resource when the maximum number of resources is exceeded.

Parameters:
reslistThe resource list.
timeoutTimeout to wait. The zero waits forever.

Set reslist cleanup order.

Parameters:
reslistThe resource list.
modeCleanup order mode
           APR_RESLIST_CLEANUP_DEFAULT  default pool cleanup order
           APR_RESLIST_CLEANUP_FIRST    use pool pre cleanup
 
Remarks:
If APR_RESLIST_CLEANUP_FIRST is used the destructors will be called before child pools of the pool used to create the reslist are destroyed. This allows to explicitly destroy the child pools inside reslist destructors.
APU_DECLARE ( apr_uint32_t  )

Return the number of outstanding resources.

Parameters:
reslistThe resource list.

Creates a crc32 hash used to split keys between servers

Parameters:
mcThe memcache client object to use
dataData to be hashed
data_lenLength of the data to use
Returns:
crc32 hash of data
Remarks:
The crc32 hash is not compatible with old memcached clients.

Pure CRC32 Hash. Used by some clients.

hash compatible with the standard Perl Client.


Variable Documentation

Definition at line 90 of file apr_reslist.h.

Definition at line 90 of file apr_reslist.h.

Definition at line 90 of file apr_reslist.h.

Definition at line 90 of file apr_reslist.h.

apr_uint32_t mode

Definition at line 168 of file apr_reslist.h.

Definition at line 90 of file apr_reslist.h.

Definition at line 90 of file apr_reslist.h.

void * resource

Definition at line 116 of file apr_reslist.h.

Definition at line 90 of file apr_reslist.h.

Definition at line 131 of file apr_reslist.h.

Definition at line 90 of file apr_reslist.h.