Mercurial > hg > nginx-quic
comparison src/event/ngx_event.h @ 26:53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 15 Dec 2002 06:25:09 +0000 |
parents | f540a63026c9 |
children | d1ebcc555037 |
comparison
equal
deleted
inserted
replaced
25:a8b156554dfe | 26:53cb81681040 |
---|---|
7 #include <ngx_time.h> | 7 #include <ngx_time.h> |
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 | |
13 #define NGX_INVALID_INDEX 0x80000000 | |
12 | 14 |
13 typedef struct ngx_event_s ngx_event_t; | 15 typedef struct ngx_event_s ngx_event_t; |
14 | 16 |
15 struct ngx_event_s { | 17 struct ngx_event_s { |
16 void *data; | 18 void *data; |
77 #endif | 79 #endif |
78 } ngx_event_type_e ; | 80 } ngx_event_type_e ; |
79 | 81 |
80 typedef struct { | 82 typedef struct { |
81 int (*add)(ngx_event_t *ev, int event, u_int flags); | 83 int (*add)(ngx_event_t *ev, int event, u_int flags); |
82 int (*del)(ngx_event_t *ev, int event); | 84 int (*del)(ngx_event_t *ev, int event, u_int flags); |
83 void (*timer)(ngx_event_t *ev, ngx_msec_t timer); | 85 void (*timer)(ngx_event_t *ev, ngx_msec_t timer); |
84 int (*process)(ngx_log_t *log); | 86 int (*process)(ngx_log_t *log); |
85 int (*read)(ngx_event_t *ev, char *buf, size_t size); | 87 int (*read)(ngx_event_t *ev, char *buf, size_t size); |
86 /* | 88 /* |
87 int (*write)(ngx_event_t *ev, char *buf, size_t size); | 89 int (*write)(ngx_event_t *ev, char *buf, size_t size); |
94 requires to read whole data | 96 requires to read whole data |
95 NGX_ONESHOT_EVENT select, poll, kqueue | 97 NGX_ONESHOT_EVENT select, poll, kqueue |
96 NGX_CLEAR_EVENT kqueue | 98 NGX_CLEAR_EVENT kqueue |
97 NGX_AIO_EVENT overlapped, aio_read, aioread | 99 NGX_AIO_EVENT overlapped, aio_read, aioread |
98 no need to add or delete events | 100 no need to add or delete events |
101 | |
102 NGX_CLOSE_EVENT kqueue: kqueue deletes events for file that closed | |
99 */ | 103 */ |
104 | |
105 #define NGX_CLOSE_EVENT 1 | |
100 | 106 |
101 #if (HAVE_KQUEUE) | 107 #if (HAVE_KQUEUE) |
102 | 108 |
103 #define NGX_READ_EVENT EVFILT_READ | 109 #define NGX_READ_EVENT EVFILT_READ |
104 #define NGX_WRITE_EVENT EVFILT_WRITE | 110 #define NGX_WRITE_EVENT EVFILT_WRITE |
122 #define NGX_LEVEL_EVENT 0 | 128 #define NGX_LEVEL_EVENT 0 |
123 #define NGX_ONESHOT_EVENT 1 | 129 #define NGX_ONESHOT_EVENT 1 |
124 | 130 |
125 #endif | 131 #endif |
126 | 132 |
127 | |
128 #if (USE_KQUEUE) | 133 #if (USE_KQUEUE) |
129 | 134 |
130 #define ngx_init_events ngx_kqueue_init | 135 #define ngx_init_events ngx_kqueue_init |
131 #define ngx_process_events ngx_kqueue_process_events | 136 #define ngx_process_events ngx_kqueue_process_events |
132 #define ngx_kqueue_add_event(ev, event) \ | 137 #define ngx_add_event ngx_kqueue_add_event |
133 ngx_kqueue_set_event(ev, event, EV_ADD | flags) | 138 #define ngx_del_event ngx_kqueue_add_event |
134 #define ngx_kqueue_del_event(ev, event) \ | |
135 ngx_kqueue_set_event(ev, event, EV_DELETE) | |
136 #define ngx_add_timer ngx_kqueue_add_timer | 139 #define ngx_add_timer ngx_kqueue_add_timer |
137 #define ngx_event_recv ngx_event_recv_core | 140 #define ngx_event_recv ngx_event_recv_core |
138 | 141 |
139 #else | 142 #else |
140 | 143 |