comparison src/core/ngx_buf.h @ 518:86dad910eeb6 NGINX_0_8_11

nginx 0.8.11 *) Change: directive "gzip_disable msie6" enables gzipping for MSIE 6.0 SV1. *) Feature: file AIO support on FreeBSD and Linux. *) Feature: the "directio_alignment" directive.
author Igor Sysoev <http://sysoev.ru>
date Fri, 28 Aug 2009 00:00:00 +0400
parents 7efcdb937752
children 0161f3197817
comparison
equal deleted inserted replaced
517:15b5cddc5190 518:86dad910eeb6
65 ngx_int_t num; 65 ngx_int_t num;
66 size_t size; 66 size_t size;
67 } ngx_bufs_t; 67 } ngx_bufs_t;
68 68
69 69
70 typedef struct ngx_output_chain_ctx_s ngx_output_chain_ctx_t;
71
70 typedef ngx_int_t (*ngx_output_chain_filter_pt)(void *ctx, ngx_chain_t *in); 72 typedef ngx_int_t (*ngx_output_chain_filter_pt)(void *ctx, ngx_chain_t *in);
71 73
72 typedef struct { 74 #if (NGX_HAVE_FILE_AIO)
75 typedef void (*ngx_output_chain_aio_pt)(ngx_output_chain_ctx_t *ctx,
76 ngx_file_t *file);
77 #endif
78
79 struct ngx_output_chain_ctx_s {
73 ngx_buf_t *buf; 80 ngx_buf_t *buf;
74 ngx_chain_t *in; 81 ngx_chain_t *in;
75 ngx_chain_t *free; 82 ngx_chain_t *free;
76 ngx_chain_t *busy; 83 ngx_chain_t *busy;
77 84
81 unsigned unaligned:1; 88 unsigned unaligned:1;
82 #endif 89 #endif
83 unsigned need_in_memory:1; 90 unsigned need_in_memory:1;
84 unsigned need_in_temp:1; 91 unsigned need_in_temp:1;
85 92
93 off_t alignment;
94
86 ngx_pool_t *pool; 95 ngx_pool_t *pool;
87 ngx_int_t allocated; 96 ngx_int_t allocated;
88 ngx_bufs_t bufs; 97 ngx_bufs_t bufs;
89 ngx_buf_tag_t tag; 98 ngx_buf_tag_t tag;
90 99
91 ngx_output_chain_filter_pt output_filter; 100 ngx_output_chain_filter_pt output_filter;
92 void *filter_ctx; 101 void *filter_ctx;
93 } ngx_output_chain_ctx_t; 102
103 #if (NGX_HAVE_FILE_AIO)
104 ngx_output_chain_aio_pt aio;
105 #endif
106 };
94 107
95 108
96 typedef struct { 109 typedef struct {
97 ngx_chain_t *out; 110 ngx_chain_t *out;
98 ngx_chain_t **last; 111 ngx_chain_t **last;