Mercurial > hg > nginx
comparison src/event/ngx_event.h @ 1:d220029ac7f3
nginx-0.0.1-2002-08-15-21:20:26 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 15 Aug 2002 17:20:26 +0000 |
parents | 4eff17414a43 |
children | 34a521b1a148 |
comparison
equal
deleted
inserted
replaced
0:4eff17414a43 | 1:d220029ac7f3 |
---|---|
14 int (*event_handler)(ngx_event_t *ev); | 14 int (*event_handler)(ngx_event_t *ev); |
15 int (*close_handler)(ngx_event_t *ev); | 15 int (*close_handler)(ngx_event_t *ev); |
16 void *context; | 16 void *context; |
17 char *action; | 17 char *action; |
18 | 18 |
19 ngx_event_t *prev; /* queue in select(), poll() */ | 19 ngx_event_t *prev; /* queue in select(), poll(), mutex(), */ |
20 ngx_event_t *next; | 20 ngx_event_t *next; /* aio_read(), aio_write() */ |
21 | 21 |
22 int (*timer_handler)(ngx_event_t *ev); | 22 int (*timer_handler)(ngx_event_t *ev); |
23 ngx_event_t *timer_prev; | 23 ngx_event_t *timer_prev; |
24 ngx_event_t *timer_next; | 24 ngx_event_t *timer_next; |
25 | 25 |
50 #if (HAVE_DEFERRED_ACCEPT) | 50 #if (HAVE_DEFERRED_ACCEPT) |
51 unsigned accept_filter:1; | 51 unsigned accept_filter:1; |
52 #endif | 52 #endif |
53 #if (HAVE_KQUEUE) | 53 #if (HAVE_KQUEUE) |
54 unsigned eof:1; | 54 unsigned eof:1; |
55 int errno; | 55 int error; |
56 #endif | 56 #endif |
57 }; | 57 }; |
58 | 58 |
59 typedef enum { | 59 typedef enum { |
60 NGX_SELECT_EVENT = 0, | 60 NGX_SELECT_EVENT = 0, |
68 | 68 |
69 typedef struct { | 69 typedef struct { |
70 int (*add)(ngx_event_t *ev, int event, u_int flags); | 70 int (*add)(ngx_event_t *ev, int event, u_int flags); |
71 int (*del)(ngx_event_t *ev, int event); | 71 int (*del)(ngx_event_t *ev, int event); |
72 int (*process)(ngx_log_t *log); | 72 int (*process)(ngx_log_t *log); |
73 int (*read)(ngx_event_t *ev, char *buf, size_t size); | |
73 /* | 74 /* |
74 int (*read)(ngx_event_t *ev, char *buf, size_t size); | |
75 int (*write)(ngx_event_t *ev, char *buf, size_t size); | 75 int (*write)(ngx_event_t *ev, char *buf, size_t size); |
76 */ | 76 */ |
77 } ngx_event_actions_t; | 77 } ngx_event_actions_t; |
78 | 78 |
79 /* | |
80 | |
81 NGX_LEVEL_EVENT (default) select, poll, kqueue | |
82 requires to read whole data | |
83 NGX_ONESHOT_EVENT kqueue | |
84 NGX_CLEAR_EVENT kqueue | |
85 | |
86 */ | |
79 | 87 |
80 #if (HAVE_KQUEUE) | 88 #if (HAVE_KQUEUE) |
81 | 89 |
82 #define NGX_READ_EVENT EVFILT_READ | 90 #define NGX_READ_EVENT EVFILT_READ |
83 #define NGX_WRITE_EVENT EVFILT_WRITE | 91 #define NGX_WRITE_EVENT EVFILT_WRITE |
97 | 105 |
98 #endif | 106 #endif |
99 | 107 |
100 | 108 |
101 #if (USE_KQUEUE) | 109 #if (USE_KQUEUE) |
110 | |
102 #define ngx_init_events ngx_kqueue_init | 111 #define ngx_init_events ngx_kqueue_init |
103 #define ngx_process_events ngx_kqueue_process_events | 112 #define ngx_process_events ngx_kqueue_process_events |
104 #define ngx_add_event ngx_kqueue_add_event | 113 #define ngx_add_event ngx_kqueue_add_event |
105 #define ngx_del_event ngx_kqueue_del_event | 114 #define ngx_del_event ngx_kqueue_del_event |
115 #define ngx_event_recv ngx_event_recv_core | |
116 | |
106 #else | 117 #else |
118 | |
107 #define ngx_init_events (ngx_event_init[ngx_event_type]) | 119 #define ngx_init_events (ngx_event_init[ngx_event_type]) |
108 #define ngx_process_events ngx_event_actions.process | 120 #define ngx_process_events ngx_event_actions.process |
109 #define ngx_add_event ngx_event_actions.add | 121 #define ngx_add_event ngx_event_actions.add |
110 #define ngx_del_event ngx_event_actions.del | 122 #define ngx_del_event ngx_event_actions.del |
123 #define ngx_event_recv ngx_event_recv_core | |
124 | |
111 #endif | 125 #endif |
112 | 126 |
113 | 127 |
114 extern ngx_event_t *ngx_read_events; | 128 extern ngx_event_t *ngx_read_events; |
115 extern ngx_event_t *ngx_write_events; | 129 extern ngx_event_t *ngx_write_events; |