summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_timer.h
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-12-04 14:53:00 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-12-04 14:53:00 +0000
commitf5003d8a66790932cae5168a913ae234cd4ce709 (patch)
tree9f252372fa7b1bb6673394aaecce911e10605593 /src/event/ngx_event_timer.h
parent7adb8c0e8fa58c51dfaf2a563b2216e7d678435c (diff)
downloadnginx-f5003d8a66790932cae5168a913ae234cd4ce709.tar.gz
nginx-f5003d8a66790932cae5168a913ae234cd4ce709.tar.bz2
nginx-0.0.1-2003-12-04-17:53:00 import
Diffstat (limited to 'src/event/ngx_event_timer.h')
-rw-r--r--src/event/ngx_event_timer.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h
index 911667d14..ea8105ee3 100644
--- a/src/event/ngx_event_timer.h
+++ b/src/event/ngx_event_timer.h
@@ -7,15 +7,59 @@
#include <ngx_event.h>
+/*
+ * 1 msec - 49 days
+ * 10 msec - 1 years 4 months
+ * 50 msec - 6 years 10 months
+ * 100 msec - 13 years 8 months
+ */
+
+#define NGX_TIMER_RESOLUTION 50
+
+
+int ngx_event_timer_init(ngx_cycle_t *cycle);
+void ngx_event_timer_done(ngx_cycle_t *cycle);
+int ngx_event_find_timer(void);
+void ngx_event_expire_timers(ngx_msec_t timer);
+
+#if 0
int ngx_event_timer_init(ngx_cycle_t *cycle);
void ngx_event_timer_done(ngx_cycle_t *cycle);
void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer);
int ngx_event_find_timer(void);
void ngx_event_set_timer_delta(ngx_msec_t timer);
void ngx_event_expire_timers(ngx_msec_t timer);
+#endif
+
+
+extern ngx_rbtree_t *ngx_event_timer_rbtree;
+
+
+ngx_inline static void ngx_event_del_timer(ngx_event_t *ev)
+{
+ ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->rbtree);
+
+ ev->timer_set = 0;
+}
+
+
+ngx_inline static void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer)
+{
+ if (ev->timer_set) {
+ ngx_del_timer(ev);
+ }
+
+ ev->rbtree.key = (ngx_int_t)
+ (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION;
+ ngx_rbtree_insert(&ngx_event_timer_rbtree, &ev->rbtree);
+
+ ev->timer_set = 1;
+}
+#if 0
+
ngx_inline static void ngx_event_del_timer(ngx_event_t *ev)
{
#if (NGX_DEBUG_EVENT)
@@ -45,5 +89,7 @@ ngx_inline static void ngx_event_del_timer(ngx_event_t *ev)
ev->timer_set = 0;
}
+#endif
+
#endif /* _NGX_EVENT_TIMER_H_INCLUDED_ */