comparison src/http/ngx_http_cache.h @ 5737:44b9ab7752e3

Cache: ETag now saved into cache header.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 26 Jun 2014 02:28:23 +0400
parents 2fe1967f8854
children 2c89956b6a76
comparison
equal deleted inserted replaced
5736:2fe1967f8854 5737:44b9ab7752e3
22 #define NGX_HTTP_CACHE_REVALIDATED 6 22 #define NGX_HTTP_CACHE_REVALIDATED 6
23 #define NGX_HTTP_CACHE_HIT 7 23 #define NGX_HTTP_CACHE_HIT 7
24 #define NGX_HTTP_CACHE_SCARCE 8 24 #define NGX_HTTP_CACHE_SCARCE 8
25 25
26 #define NGX_HTTP_CACHE_KEY_LEN 16 26 #define NGX_HTTP_CACHE_KEY_LEN 16
27 #define NGX_HTTP_CACHE_ETAG_LEN 42
27 28
28 #define NGX_HTTP_CACHE_VERSION 1 29 #define NGX_HTTP_CACHE_VERSION 2
29 30
30 31
31 typedef struct { 32 typedef struct {
32 ngx_uint_t status; 33 ngx_uint_t status;
33 time_t valid; 34 time_t valid;
67 ngx_file_uniq_t uniq; 68 ngx_file_uniq_t uniq;
68 time_t valid_sec; 69 time_t valid_sec;
69 time_t last_modified; 70 time_t last_modified;
70 time_t date; 71 time_t date;
71 72
73 ngx_str_t etag;
74
72 size_t header_start; 75 size_t header_start;
73 size_t body_start; 76 size_t body_start;
74 off_t length; 77 off_t length;
75 off_t fs_size; 78 off_t fs_size;
76 79
105 time_t date; 108 time_t date;
106 uint32_t crc32; 109 uint32_t crc32;
107 u_short valid_msec; 110 u_short valid_msec;
108 u_short header_start; 111 u_short header_start;
109 u_short body_start; 112 u_short body_start;
113 u_char etag_len;
114 u_char etag[NGX_HTTP_CACHE_ETAG_LEN];
110 } ngx_http_file_cache_header_t; 115 } ngx_http_file_cache_header_t;
111 116
112 117
113 typedef struct { 118 typedef struct {
114 ngx_rbtree_t rbtree; 119 ngx_rbtree_t rbtree;