Mercurial > hg > nginx
comparison src/core/ngx_buf.h @ 3052:6060225e9261
FreeBSD and Linux AIO support
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 28 Aug 2009 08:12:35 +0000 |
parents | d2b183c39878 |
children | 0d253659da12 |
comparison
equal
deleted
inserted
replaced
3051:26dfc0fa22c8 | 3052:6060225e9261 |
---|---|
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 |
88 ngx_bufs_t bufs; | 95 ngx_bufs_t bufs; |
89 ngx_buf_tag_t tag; | 96 ngx_buf_tag_t tag; |
90 | 97 |
91 ngx_output_chain_filter_pt output_filter; | 98 ngx_output_chain_filter_pt output_filter; |
92 void *filter_ctx; | 99 void *filter_ctx; |
93 } ngx_output_chain_ctx_t; | 100 |
101 #if (NGX_HAVE_FILE_AIO) | |
102 ngx_output_chain_aio_pt aio; | |
103 #endif | |
104 }; | |
94 | 105 |
95 | 106 |
96 typedef struct { | 107 typedef struct { |
97 ngx_chain_t *out; | 108 ngx_chain_t *out; |
98 ngx_chain_t **last; | 109 ngx_chain_t **last; |