Apache2
|
Modules | |
Cache Functions | |
Cache Storage Functions | |
Cache Utility Functions | |
Data Structures | |
struct | cache_info |
struct | cache_object |
struct | cache_handle |
struct | cache_provider |
Macros | |
#define | CACHE_DECLARE(type) type |
#define | CACHE_DECLARE_NONSTD(type) type |
#define | CACHE_DECLARE_DATA |
#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" |
Typedefs | |
typedef struct cache_info | cache_info |
typedef struct cache_object | cache_object_t |
typedef struct cache_handle | cache_handle_t |
Enumerations | |
enum | ap_cache_status_e { AP_CACHE_HIT , AP_CACHE_REVALIDATE , AP_CACHE_MISS , AP_CACHE_INVALIDATE } |
Functions | |
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_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) |
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) |
#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_DATA |
#define CACHE_DECLARE_NONSTD | ( | type | ) | type |
#define CACHE_PROVIDER_GROUP "cache" |
typedef struct cache_handle cache_handle_t |
typedef struct cache_info cache_info |
typedef struct cache_object cache_object_t |
enum ap_cache_status_e |
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.