Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
nginx-1.4.2
src
event
ngx_event_pipe.h
Go to the documentation of this file.
1
2
/*
3
* Copyright (C) Igor Sysoev
4
* Copyright (C) Nginx, Inc.
5
*/
6
7
8
#ifndef _NGX_EVENT_PIPE_H_INCLUDED_
9
#define _NGX_EVENT_PIPE_H_INCLUDED_
10
11
12
#include <
ngx_config.h
>
13
#include <
ngx_core.h
>
14
#include <
ngx_event.h
>
15
16
17
typedef
struct
ngx_event_pipe_s
ngx_event_pipe_t
;
18
19
typedef
ngx_int_t
(*
ngx_event_pipe_input_filter_pt
)(
ngx_event_pipe_t
*p,
20
ngx_buf_t
*buf);
21
typedef
ngx_int_t
(*
ngx_event_pipe_output_filter_pt
)(
void
*data,
22
ngx_chain_t
*chain);
23
24
25
struct
ngx_event_pipe_s
{
26
ngx_connection_t
*
upstream
;
27
ngx_connection_t
*
downstream
;
28
29
ngx_chain_t
*
free_raw_bufs
;
30
ngx_chain_t
*
in
;
31
ngx_chain_t
**
last_in
;
32
33
ngx_chain_t
*
out
;
34
ngx_chain_t
*
free
;
35
ngx_chain_t
*
busy
;
36
37
/*
38
* the input filter i.e. that moves HTTP/1.1 chunks
39
* from the raw bufs to an incoming chain
40
*/
41
42
ngx_event_pipe_input_filter_pt
input_filter
;
43
void
*
input_ctx
;
44
45
ngx_event_pipe_output_filter_pt
output_filter
;
46
void
*
output_ctx
;
47
48
unsigned
read
:1;
49
unsigned
cacheable
:1;
50
unsigned
single_buf
:1;
51
unsigned
free_bufs
:1;
52
unsigned
upstream_done
:1;
53
unsigned
upstream_error
:1;
54
unsigned
upstream_eof
:1;
55
unsigned
upstream_blocked
:1;
56
unsigned
downstream_done
:1;
57
unsigned
downstream_error
:1;
58
unsigned
cyclic_temp_file
:1;
59
60
ngx_int_t
allocated
;
61
ngx_bufs_t
bufs
;
62
ngx_buf_tag_t
tag
;
63
64
ssize_t
busy_size
;
65
66
off_t
read_length
;
67
off_t
length
;
68
69
off_t
max_temp_file_size
;
70
ssize_t
temp_file_write_size
;
71
72
ngx_msec_t
read_timeout
;
73
ngx_msec_t
send_timeout
;
74
ssize_t
send_lowat
;
75
76
ngx_pool_t
*
pool
;
77
ngx_log_t
*
log
;
78
79
ngx_chain_t
*
preread_bufs
;
80
size_t
preread_size
;
81
ngx_buf_t
*
buf_to_file
;
82
83
ngx_temp_file_t
*
temp_file
;
84
85
/* STUB */
int
num
;
86
};
87
88
89
ngx_int_t
ngx_event_pipe
(
ngx_event_pipe_t
*p,
ngx_int_t
do_write);
90
ngx_int_t
ngx_event_pipe_copy_input_filter
(
ngx_event_pipe_t
*p,
ngx_buf_t
*buf);
91
ngx_int_t
ngx_event_pipe_add_free_buf
(
ngx_event_pipe_t
*p,
ngx_buf_t
*
b
);
92
93
94
#endif
/* _NGX_EVENT_PIPE_H_INCLUDED_ */
Generated on Sun Nov 10 2013 09:49:07 for Groonga 3.0.9 Source Code Document by
1.8.1.2