comparison src/event/ngx_event.h @ 64:34d647deb1da

nginx-0.0.1-2003-03-04-09:33:48 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 04 Mar 2003 06:33:48 +0000
parents 36d2c25cc9bb
children 4222c496acb3
comparison
equal deleted inserted replaced
63:36d2c25cc9bb 64:34d647deb1da
8 #include <ngx_socket.h> 8 #include <ngx_socket.h>
9 #include <ngx_log.h> 9 #include <ngx_log.h>
10 #include <ngx_alloc.h> 10 #include <ngx_alloc.h>
11 #include <ngx_array.h> 11 #include <ngx_array.h>
12 12
13 /* STUB */
14 #define NGX_LOWAT 10000
13 15
14 #define NGX_INVALID_INDEX 0x80000000 16 #define NGX_INVALID_INDEX 0x80000000
15 17
16 typedef struct ngx_event_s ngx_event_t; 18 typedef struct ngx_event_s ngx_event_t;
17 19
77 #endif 79 #endif
78 80
79 #if (HAVE_KQUEUE) 81 #if (HAVE_KQUEUE)
80 unsigned eof:1; 82 unsigned eof:1;
81 int error; 83 int error;
84 #endif
85
86 #if (HAVE_LOWAT_EVENT) /* kqueue's NOTE_LOWAT */
87 int lowat;
82 #endif 88 #endif
83 89
84 90
85 #if (HAVE_AIO) 91 #if (HAVE_AIO)
86 92
149 #define NGX_HAVE_CLEAR_EVENT 4 155 #define NGX_HAVE_CLEAR_EVENT 4
150 156
151 /* Event filter has kqueue features - eof flag, errno, available data, etc */ 157 /* Event filter has kqueue features - eof flag, errno, available data, etc */
152 #define NGX_HAVE_KQUEUE_EVENT 8 158 #define NGX_HAVE_KQUEUE_EVENT 8
153 159
154 /* Event filter notifies only changes (edgesi) but not initial level - epoll */ 160 /* Event filter supports low water mark - kqueue's NOTE_LOWAT,
155 #define NGX_HAVE_EDGE_EVENT 16 161 early kqueue implementations have no NOTE_LOWAT so we need separate flag */
162 #define NGX_HAVE_LOWAT_EVENT 16
163
164 /* Event filter notifies only changes (edges) but not initial level - epoll */
165 #define NGX_HAVE_EDGE_EVENT 32
156 166
157 /* No need to add or delete event filters - rt signals */ 167 /* No need to add or delete event filters - rt signals */
158 #define NGX_HAVE_SIGIO_EVENT 32 168 #define NGX_HAVE_SIGIO_EVENT 64
159 169
160 /* No need to add or delete event filters - overlapped, aio_read, aioread */ 170 /* No need to add or delete event filters - overlapped, aio_read, aioread */
161 #define NGX_HAVE_AIO_EVENT 64 171 #define NGX_HAVE_AIO_EVENT 128
162 172
163 /* Need to add socket or halde only once - i/o completion port. 173 /* Need to add socket or halde only once - i/o completion port.
164 It also requires to set HAVE_AIO_EVENT and NGX_HAVE_AIO_EVENT */ 174 It also requires to set HAVE_AIO_EVENT and NGX_HAVE_AIO_EVENT */
165 #define NGX_HAVE_IOCP_EVENT 128 175 #define NGX_HAVE_IOCP_EVENT 256
176
166 177
167 /* Event filter is deleted before closing file. Has no meaning 178 /* Event filter is deleted before closing file. Has no meaning
168 for select, poll, epoll. 179 for select, poll, epoll.
169 180
170 kqueue: kqueue deletes event filters for file that closed 181 kqueue: kqueue deletes event filters for file that closed