Mercurial > hg > nginx-quic
comparison src/event/ngx_event.h @ 79:eacfdd1c31b9
nginx-0.0.1-2003-04-22-19:02:58 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 22 Apr 2003 15:02:58 +0000 |
parents | 57c2e18d3572 |
children | 3973260705cc |
comparison
equal
deleted
inserted
replaced
78:9f81437e0ad3 | 79:eacfdd1c31b9 |
---|---|
144 int (*write)(ngx_event_t *ev, char *buf, size_t size); | 144 int (*write)(ngx_event_t *ev, char *buf, size_t size); |
145 */ | 145 */ |
146 } ngx_event_actions_t; | 146 } ngx_event_actions_t; |
147 | 147 |
148 | 148 |
149 /* Event filter requires to read/write the whole data - | 149 /* The event filter requires to read/write the whole data - |
150 select, poll, /dev/poll, kqueue. */ | 150 select, poll, /dev/poll, kqueue. */ |
151 #define NGX_HAVE_LEVEL_EVENT 1 | 151 #define NGX_HAVE_LEVEL_EVENT 1 |
152 | 152 |
153 /* Event filter is deleted after notification - select, poll, kqueue. | 153 /* The event filter is deleted after a notification without an additional |
154 Using /dev/poll it can be implemented with additional syscall */ | 154 syscall - select, poll, kqueue. */ |
155 #define NGX_HAVE_ONESHOT_EVENT 2 | 155 #define NGX_HAVE_ONESHOT_EVENT 2 |
156 | 156 |
157 /* Event filter notifies only changes and initial level - kqueue */ | 157 /* The event filter notifies only the changes and an initial level - kqueue */ |
158 #define NGX_HAVE_CLEAR_EVENT 4 | 158 #define NGX_HAVE_CLEAR_EVENT 4 |
159 | 159 |
160 /* Event filter has kqueue features - eof flag, errno, available data, etc */ | 160 /* The event filter has kqueue features - the eof flag, errno, |
161 available data, etc */ | |
161 #define NGX_HAVE_KQUEUE_EVENT 8 | 162 #define NGX_HAVE_KQUEUE_EVENT 8 |
162 | 163 |
163 /* Event filter supports low water mark - kqueue's NOTE_LOWAT, | 164 /* The event filter supports low water mark - kqueue's NOTE_LOWAT. |
164 early kqueue implementations have no NOTE_LOWAT so we need a separate flag */ | 165 Early kqueue implementations have no NOTE_LOWAT so we need a separate flag */ |
165 #define NGX_HAVE_LOWAT_EVENT 0x00000010 | 166 #define NGX_HAVE_LOWAT_EVENT 0x00000010 |
166 | 167 |
167 /* Event filter notifies only changes (edges) but not initial level - epoll */ | 168 /* The event filter notifies only the changes (the edges) |
169 but not an initial level - epoll */ | |
168 #define NGX_HAVE_EDGE_EVENT 0x00000020 | 170 #define NGX_HAVE_EDGE_EVENT 0x00000020 |
169 | 171 |
170 /* No need to add or delete event filters - rt signals */ | 172 /* No need to add or delete the event filters - rt signals */ |
171 #define NGX_HAVE_SIGIO_EVENT 0x00000040 | 173 #define NGX_HAVE_SIGIO_EVENT 0x00000040 |
172 | 174 |
173 /* No need to add or delete event filters - overlapped, aio_read, aioread */ | 175 /* No need to add or delete the event filters - overlapped, aio_read, aioread */ |
174 #define NGX_HAVE_AIO_EVENT 0x00000080 | 176 #define NGX_HAVE_AIO_EVENT 0x00000080 |
175 | 177 |
176 /* Need to add socket or handle only once - i/o completion port. | 178 /* Need to add socket or handle only once - i/o completion port. |
177 It also requires HAVE_AIO_EVENT and NGX_HAVE_AIO_EVENT to be set */ | 179 It also requires HAVE_AIO_EVENT and NGX_HAVE_AIO_EVENT to be set */ |
178 #define NGX_HAVE_IOCP_EVENT 0x00000100 | 180 #define NGX_HAVE_IOCP_EVENT 0x00000100 |
282 extern ngx_event_type_e ngx_event_type; | 284 extern ngx_event_type_e ngx_event_type; |
283 extern int ngx_event_flags; | 285 extern int ngx_event_flags; |
284 #endif | 286 #endif |
285 | 287 |
286 | 288 |
289 #if !(HAVE_EPOLL) | |
290 #define ngx_edge_add_event(ev) NGX_ERROR | |
291 #endif | |
292 | |
293 | |
287 ssize_t ngx_event_recv_core(ngx_connection_t *c, char *buf, size_t size); | 294 ssize_t ngx_event_recv_core(ngx_connection_t *c, char *buf, size_t size); |
288 int ngx_event_close_connection(ngx_event_t *ev); | 295 int ngx_event_close_connection(ngx_event_t *ev); |
289 | 296 |
290 | 297 |
291 void ngx_pre_thread(ngx_array_t *ls, ngx_pool_t *pool, ngx_log_t *log); | 298 void ngx_pre_thread(ngx_array_t *ls, ngx_pool_t *pool, ngx_log_t *log); |