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