Mercurial > hg > nginx
comparison src/event/ngx_event_timer.h @ 206:9aa426375256
nginx-0.0.1-2003-12-05-10:11:46 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 05 Dec 2003 07:11:46 +0000 |
parents | 4a9a2b1dd6fa |
children | 6e0fef527732 |
comparison
equal
deleted
inserted
replaced
205:4a9a2b1dd6fa | 206:9aa426375256 |
---|---|
6 #include <ngx_core.h> | 6 #include <ngx_core.h> |
7 #include <ngx_event.h> | 7 #include <ngx_event.h> |
8 | 8 |
9 | 9 |
10 /* | 10 /* |
11 * 32 bit key value resolution | |
12 * | |
11 * 1 msec - 49 days | 13 * 1 msec - 49 days |
12 * 10 msec - 1 years 4 months | 14 * 10 msec - 1 years 4 months |
13 * 50 msec - 6 years 10 months | 15 * 50 msec - 6 years 10 months |
14 * 100 msec - 13 years 8 months | 16 * 100 msec - 13 years 8 months |
15 */ | 17 */ |
17 #define NGX_TIMER_RESOLUTION 50 | 19 #define NGX_TIMER_RESOLUTION 50 |
18 | 20 |
19 | 21 |
20 int ngx_event_timer_init(ngx_cycle_t *cycle); | 22 int ngx_event_timer_init(ngx_cycle_t *cycle); |
21 void ngx_event_timer_done(ngx_cycle_t *cycle); | 23 void ngx_event_timer_done(ngx_cycle_t *cycle); |
22 int ngx_event_find_timer(void); | 24 ngx_msec_t ngx_event_find_timer(void); |
23 void ngx_event_expire_timers(ngx_msec_t timer); | 25 void ngx_event_expire_timers(ngx_msec_t timer); |
24 | 26 |
25 #if 0 | 27 #if 0 |
26 int ngx_event_timer_init(ngx_cycle_t *cycle); | 28 int ngx_event_timer_init(ngx_cycle_t *cycle); |
27 void ngx_event_timer_done(ngx_cycle_t *cycle); | 29 void ngx_event_timer_done(ngx_cycle_t *cycle); |
35 extern ngx_rbtree_t *ngx_event_timer_rbtree; | 37 extern ngx_rbtree_t *ngx_event_timer_rbtree; |
36 | 38 |
37 | 39 |
38 ngx_inline static void ngx_event_del_timer(ngx_event_t *ev) | 40 ngx_inline static void ngx_event_del_timer(ngx_event_t *ev) |
39 { | 41 { |
40 ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->rbtree); | 42 ngx_rbtree_delete(&ngx_event_timer_rbtree, |
43 (ngx_rbtree_t *) &ev->rbtree_key); | |
41 | 44 |
42 ev->timer_set = 0; | 45 ev->timer_set = 0; |
43 } | 46 } |
44 | 47 |
45 | 48 |
47 { | 50 { |
48 if (ev->timer_set) { | 51 if (ev->timer_set) { |
49 ngx_del_timer(ev); | 52 ngx_del_timer(ev); |
50 } | 53 } |
51 | 54 |
52 ev->rbtree.key = (ngx_int_t) | 55 ev->rbtree_key = (ngx_int_t) |
53 (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION; | 56 (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION; |
54 | 57 |
55 ngx_rbtree_insert(&ngx_event_timer_rbtree, &ev->rbtree); | 58 ngx_rbtree_insert(&ngx_event_timer_rbtree, |
59 (ngx_rbtree_t *) &ev->rbtree_key); | |
56 | 60 |
57 ev->timer_set = 1; | 61 ev->timer_set = 1; |
58 } | 62 } |
59 | 63 |
60 | 64 |