All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Collaboration diagram for mod_cache:


 Cache Functions
 Cache Storage Functions
 Cache Utility Functions

Data Structures

struct  cache_info
struct  cache_object
struct  cache_handle
struct  cache_provider


#define CACHE_DECLARE(type)   type
#define CACHE_DECLARE_NONSTD(type)   type
#define CACHE_PROVIDER_GROUP   "cache"
#define AP_CACHE_HIT_ENV   "cache-hit"
#define AP_CACHE_REVALIDATE_ENV   "cache-revalidate"
#define AP_CACHE_MISS_ENV   "cache-miss"
#define AP_CACHE_INVALIDATE_ENV   "cache-invalidate"
#define AP_CACHE_STATUS_ENV   "cache-status"


typedef struct cache_info cache_info
typedef struct cache_object cache_object_t
typedef struct cache_handle cache_handle_t




apr_time_t ap_cache_current_age (cache_info *info, const apr_time_t age_value, apr_time_t now)
apr_time_t ap_cache_hex2usec (const char *x)
void ap_cache_usec2hex (apr_time_t j, char *y)
char * ap_cache_generate_name (apr_pool_t *p, int dirlevels, int dirlength, const char *name)
const char * ap_cache_tokstr (apr_pool_t *p, const char *list, const char **str)
apr_table_tap_cache_cacheable_headers (apr_pool_t *pool, apr_table_t *t, server_rec *s)
apr_table_tap_cache_cacheable_headers_in (request_rec *r)
apr_table_tap_cache_cacheable_headers_out (request_rec *r)
int ap_cache_control (request_rec *r, cache_control_t *cc, const char *cc_header, const char *pragma_header, apr_table_t *headers)
int cache_hook_cache_status (cache_handle_t *h, request_rec *r, apr_table_t *headers, ap_cache_status_e status, const char *reason)
apr_status_t ap_cache_generate_key (request_rec *r, apr_pool_t *p, const char **key)

Detailed Description

Macro Definition Documentation

#define AP_CACHE_HIT_ENV   "cache-hit"
#define AP_CACHE_INVALIDATE_ENV   "cache-invalidate"
#define AP_CACHE_MISS_ENV   "cache-miss"
#define AP_CACHE_REVALIDATE_ENV   "cache-revalidate"
#define AP_CACHE_STATUS_ENV   "cache-status"
#define CACHE_DECLARE (   type)    type
#define CACHE_DECLARE_NONSTD (   type)    type
#define CACHE_PROVIDER_GROUP   "cache"

Typedef Documentation

typedef struct cache_handle cache_handle_t
typedef struct cache_info cache_info
typedef struct cache_object cache_object_t

Enumeration Type Documentation


Function Documentation

apr_table_t* ap_cache_cacheable_headers ( apr_pool_t pool,
apr_table_t t,
server_rec s 
apr_table_t* ap_cache_cacheable_headers_in ( request_rec r)
apr_table_t* ap_cache_cacheable_headers_out ( request_rec r)
int ap_cache_control ( request_rec r,
cache_control_t cc,
const char *  cc_header,
const char *  pragma_header,
apr_table_t headers 

Parse the Cache-Control and Pragma headers in one go, marking which tokens appear within the header. Populate the structure passed in.

apr_time_t ap_cache_current_age ( cache_info info,
const apr_time_t  age_value,
apr_time_t  now 
apr_status_t ap_cache_generate_key ( request_rec r,
apr_pool_t p,
const char **  key 
char* ap_cache_generate_name ( apr_pool_t p,
int  dirlevels,
int  dirlength,
const char *  name 
apr_time_t ap_cache_hex2usec ( const char *  x)
const char* ap_cache_tokstr ( apr_pool_t p,
const char *  list,
const char **  str 
void ap_cache_usec2hex ( apr_time_t  j,
char *  y 
int cache_hook_cache_status ( cache_handle_t h,
request_rec r,
apr_table_t headers,
ap_cache_status_e  status,
const char *  reason 

Cache status hook. This hook is called as soon as the cache has made a decision as to whether an entity should be served from cache (hit), should be served from cache after a successful validation (revalidate), or served from the backend and potentially cached (miss).

A basic implementation of this hook exists in mod_cache which writes this information to the subprocess environment, and optionally to request headers. Further implementations may add hooks as appropriate to perform more advanced processing, or to store statistics about the cache behaviour.