diff options
Diffstat (limited to 'app/nginx/src/http/ngx_http_cache.h')
-rw-r--r-- | app/nginx/src/http/ngx_http_cache.h | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/app/nginx/src/http/ngx_http_cache.h b/app/nginx/src/http/ngx_http_cache.h deleted file mode 100644 index f9e9664..0000000 --- a/app/nginx/src/http/ngx_http_cache.h +++ /dev/null @@ -1,207 +0,0 @@ - -/* - * Copyright (C) Igor Sysoev - * Copyright (C) Nginx, Inc. - */ - - -#ifndef _NGX_HTTP_CACHE_H_INCLUDED_ -#define _NGX_HTTP_CACHE_H_INCLUDED_ - - -#include <ngx_config.h> -#include <ngx_core.h> -#include <ngx_http.h> - - -#define NGX_HTTP_CACHE_MISS 1 -#define NGX_HTTP_CACHE_BYPASS 2 -#define NGX_HTTP_CACHE_EXPIRED 3 -#define NGX_HTTP_CACHE_STALE 4 -#define NGX_HTTP_CACHE_UPDATING 5 -#define NGX_HTTP_CACHE_REVALIDATED 6 -#define NGX_HTTP_CACHE_HIT 7 -#define NGX_HTTP_CACHE_SCARCE 8 - -#define NGX_HTTP_CACHE_KEY_LEN 16 -#define NGX_HTTP_CACHE_ETAG_LEN 128 -#define NGX_HTTP_CACHE_VARY_LEN 128 - -#define NGX_HTTP_CACHE_VERSION 5 - - -typedef struct { - ngx_uint_t status; - time_t valid; -} ngx_http_cache_valid_t; - - -typedef struct { - ngx_rbtree_node_t node; - ngx_queue_t queue; - - u_char key[NGX_HTTP_CACHE_KEY_LEN - - sizeof(ngx_rbtree_key_t)]; - - unsigned count:20; - unsigned uses:10; - unsigned valid_msec:10; - unsigned error:10; - unsigned exists:1; - unsigned updating:1; - unsigned deleting:1; - unsigned purged:1; - /* 10 unused bits */ - - ngx_file_uniq_t uniq; - time_t expire; - time_t valid_sec; - size_t body_start; - off_t fs_size; - ngx_msec_t lock_time; -} ngx_http_file_cache_node_t; - - -struct ngx_http_cache_s { - ngx_file_t file; - ngx_array_t keys; - uint32_t crc32; - u_char key[NGX_HTTP_CACHE_KEY_LEN]; - u_char main[NGX_HTTP_CACHE_KEY_LEN]; - - ngx_file_uniq_t uniq; - time_t valid_sec; - time_t updating_sec; - time_t error_sec; - time_t last_modified; - time_t date; - - ngx_str_t etag; - ngx_str_t vary; - u_char variant[NGX_HTTP_CACHE_KEY_LEN]; - - size_t header_start; - size_t body_start; - off_t length; - off_t fs_size; - - ngx_uint_t min_uses; - ngx_uint_t error; - ngx_uint_t valid_msec; - ngx_uint_t vary_tag; - - ngx_buf_t *buf; - - ngx_http_file_cache_t *file_cache; - ngx_http_file_cache_node_t *node; - -#if (NGX_THREADS || NGX_COMPAT) - ngx_thread_task_t *thread_task; -#endif - - ngx_msec_t lock_timeout; - ngx_msec_t lock_age; - ngx_msec_t lock_time; - ngx_msec_t wait_time; - - ngx_event_t wait_event; - - unsigned lock:1; - unsigned waiting:1; - - unsigned updated:1; - unsigned updating:1; - unsigned exists:1; - unsigned temp_file:1; - unsigned purged:1; - unsigned reading:1; - unsigned secondary:1; - unsigned background:1; - - unsigned stale_updating:1; - unsigned stale_error:1; -}; - - -typedef struct { - ngx_uint_t version; - time_t valid_sec; - time_t updating_sec; - time_t error_sec; - time_t last_modified; - time_t date; - uint32_t crc32; - u_short valid_msec; - u_short header_start; - u_short body_start; - u_char etag_len; - u_char etag[NGX_HTTP_CACHE_ETAG_LEN]; - u_char vary_len; - u_char vary[NGX_HTTP_CACHE_VARY_LEN]; - u_char variant[NGX_HTTP_CACHE_KEY_LEN]; -} ngx_http_file_cache_header_t; - - -typedef struct { - ngx_rbtree_t rbtree; - ngx_rbtree_node_t sentinel; - ngx_queue_t queue; - ngx_atomic_t cold; - ngx_atomic_t loading; - off_t size; - ngx_uint_t count; - ngx_uint_t watermark; -} ngx_http_file_cache_sh_t; - - -struct ngx_http_file_cache_s { - ngx_http_file_cache_sh_t *sh; - ngx_slab_pool_t *shpool; - - ngx_path_t *path; - - off_t max_size; - size_t bsize; - - time_t inactive; - - time_t fail_time; - - ngx_uint_t files; - ngx_uint_t loader_files; - ngx_msec_t last; - ngx_msec_t loader_sleep; - ngx_msec_t loader_threshold; - - ngx_uint_t manager_files; - ngx_msec_t manager_sleep; - ngx_msec_t manager_threshold; - - ngx_shm_zone_t *shm_zone; - - ngx_uint_t use_temp_path; - /* unsigned use_temp_path:1 */ -}; - - -ngx_int_t ngx_http_file_cache_new(ngx_http_request_t *r); -ngx_int_t ngx_http_file_cache_create(ngx_http_request_t *r); -void ngx_http_file_cache_create_key(ngx_http_request_t *r); -ngx_int_t ngx_http_file_cache_open(ngx_http_request_t *r); -ngx_int_t ngx_http_file_cache_set_header(ngx_http_request_t *r, u_char *buf); -void ngx_http_file_cache_update(ngx_http_request_t *r, ngx_temp_file_t *tf); -void ngx_http_file_cache_update_header(ngx_http_request_t *r); -ngx_int_t ngx_http_cache_send(ngx_http_request_t *); -void ngx_http_file_cache_free(ngx_http_cache_t *c, ngx_temp_file_t *tf); -time_t ngx_http_file_cache_valid(ngx_array_t *cache_valid, ngx_uint_t status); - -char *ngx_http_file_cache_set_slot(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); -char *ngx_http_file_cache_valid_set_slot(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); - - -extern ngx_str_t ngx_http_cache_status[]; - - -#endif /* _NGX_HTTP_CACHE_H_INCLUDED_ */ |