comparison src/event/ngx_event.h @ 67:5a7d1aaa1618

nginx-0.0.1-2003-03-11-23:38:13 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 11 Mar 2003 20:38:13 +0000
parents 4222c496acb3
children e43f406e4525
comparison
equal deleted inserted replaced
66:4876cd4a36bb 67:5a7d1aaa1618
54 /* read: bytes to read */ 54 /* read: bytes to read */
55 /* write: available space in buffer */ 55 /* write: available space in buffer */
56 /* otherwise: */ 56 /* otherwise: */
57 /* accept: 1 if accept many, 0 otherwise */ 57 /* accept: 1 if accept many, 0 otherwise */
58 58
59 unsigned level:1;
60 unsigned oneshot:1; 59 unsigned oneshot:1;
61 60
62 #if 0 61 #if 0
63 unsigned listening:1; 62 unsigned listening:1;
64 #endif 63 #endif
71 unsigned timer_set:1; 70 unsigned timer_set:1;
72 71
73 unsigned process:1; 72 unsigned process:1;
74 unsigned read_discarded:1; 73 unsigned read_discarded:1;
75 74
75 unsigned ignore_econnreset:1;
76 unsigned unexpected_eof:1; 76 unsigned unexpected_eof:1;
77 77
78 #if (HAVE_DEFERRED_ACCEPT) 78 #if (HAVE_DEFERRED_ACCEPT)
79 unsigned deferred_accept:1; 79 unsigned deferred_accept:1;
80 #endif 80 #endif
147 /* Event filter requires to read/write the whole data - 147 /* Event filter requires to read/write the whole data -
148 select, poll, /dev/poll, kqueue. */ 148 select, poll, /dev/poll, kqueue. */
149 #define NGX_HAVE_LEVEL_EVENT 1 149 #define NGX_HAVE_LEVEL_EVENT 1
150 150
151 /* Event filter is deleted after notification - select, poll, kqueue. 151 /* Event filter is deleted after notification - select, poll, kqueue.
152 Using /dev/poll, epoll it can be implemented with additional syscall */ 152 Using /dev/poll it can be implemented with additional syscall */
153 #define NGX_HAVE_ONESHOT_EVENT 2 153 #define NGX_HAVE_ONESHOT_EVENT 2
154 154
155 /* Event filter notifies only changes and initial level - kqueue */ 155 /* Event filter notifies only changes and initial level - kqueue */
156 #define NGX_HAVE_CLEAR_EVENT 4 156 #define NGX_HAVE_CLEAR_EVENT 4
157 157
158 /* Event filter has kqueue features - eof flag, errno, available data, etc */ 158 /* Event filter has kqueue features - eof flag, errno, available data, etc */
159 #define NGX_HAVE_KQUEUE_EVENT 8 159 #define NGX_HAVE_KQUEUE_EVENT 8
160 160
161 /* Event filter supports low water mark - kqueue's NOTE_LOWAT, 161 /* Event filter supports low water mark - kqueue's NOTE_LOWAT,
162 early kqueue implementations have no NOTE_LOWAT so we need separate flag */ 162 early kqueue implementations have no NOTE_LOWAT so we need a separate flag */
163 #define NGX_HAVE_LOWAT_EVENT 16 163 #define NGX_HAVE_LOWAT_EVENT 0x00000010
164 164
165 /* Event filter notifies only changes (edges) but not initial level - epoll */ 165 /* Event filter notifies only changes (edges) but not initial level - epoll */
166 #define NGX_HAVE_EDGE_EVENT 32 166 #define NGX_HAVE_EDGE_EVENT 0x00000020
167 167
168 /* No need to add or delete event filters - rt signals */ 168 /* No need to add or delete event filters - rt signals */
169 #define NGX_HAVE_SIGIO_EVENT 64 169 #define NGX_HAVE_SIGIO_EVENT 0x00000040
170 170
171 /* No need to add or delete event filters - overlapped, aio_read, aioread */ 171 /* No need to add or delete event filters - overlapped, aio_read, aioread */
172 #define NGX_HAVE_AIO_EVENT 128 172 #define NGX_HAVE_AIO_EVENT 0x00000080
173 173
174 /* Need to add socket or halde only once - i/o completion port. 174 /* Need to add socket or handle only once - i/o completion port.
175 It also requires to set HAVE_AIO_EVENT and NGX_HAVE_AIO_EVENT */ 175 It also requires HAVE_AIO_EVENT and NGX_HAVE_AIO_EVENT to be set */
176 #define NGX_HAVE_IOCP_EVENT 256 176 #define NGX_HAVE_IOCP_EVENT 0x00000100
177
178
179 #define NGX_USE_LEVEL_EVENT 0x00010000
177 180
178 181
179 /* Event filter is deleted before closing file. Has no meaning 182 /* Event filter is deleted before closing file. Has no meaning
180 for select, poll, epoll. 183 for select, poll, epoll.
181 184