Lines Matching refs:timeout

43 static void linkTo(struct Timeout* timeout)  in linkTo()  argument
45 timeout->next = (struct Timeout*) timeout->base->timeouts; in linkTo()
46 if (timeout->next) { in linkTo()
47 timeout->next->selfPtr = &timeout->next; in linkTo()
49 timeout->base->timeouts = timeout; in linkTo()
50 timeout->selfPtr = (struct Timeout**) &timeout->base->timeouts; in linkTo()
51 timeout->isArmed = 1; in linkTo()
54 static void unlinkTo(struct Timeout* timeout) in unlinkTo() argument
56 if (timeout->selfPtr) { in unlinkTo()
57 *timeout->selfPtr = timeout->next; in unlinkTo()
58 if (timeout->next) { in unlinkTo()
59 Assert_true(&timeout->next == timeout->next->selfPtr); in unlinkTo()
60 timeout->next->selfPtr = timeout->selfPtr; in unlinkTo()
61 timeout->next = NULL; in unlinkTo()
63 timeout->selfPtr = NULL; in unlinkTo()
65 timeout->isArmed = 0; in unlinkTo()
73 struct Timeout* timeout = Identity_check((struct Timeout*) handle); in handleEvent() local
74 if (!timeout->isArmed) { return; } in handleEvent()
75 if (!timeout->isInterval) { in handleEvent()
76 Timeout_clearTimeout(timeout); in handleEvent()
78 timeout->callback(timeout->callbackContext); in handleEvent()
119 struct Timeout* timeout = Allocator_calloc(alloc, sizeof(struct Timeout), 1); in setTimeout() local
121 timeout->callback = callback; in setTimeout()
122 timeout->callbackContext = callbackContext; in setTimeout()
123 timeout->milliseconds = milliseconds; in setTimeout()
124 timeout->alloc = alloc; in setTimeout()
125 timeout->isInterval = interval; in setTimeout()
126 timeout->base = base; in setTimeout()
127 Identity_set(timeout); in setTimeout()
129 uv_timer_init(base->loop, &timeout->timer); in setTimeout()
130 uv_timer_start(&timeout->timer, handleEvent, milliseconds, (interval) ? milliseconds : 0); in setTimeout()
132 timeout->timer.data = timeout; in setTimeout()
134 Allocator_onFree(alloc, onFree, timeout); in setTimeout()
136 linkTo(timeout); in setTimeout()
138 return timeout; in setTimeout()
166 void Timeout_resetTimeout(struct Timeout* timeout, in Timeout_resetTimeout() argument
169 Timeout_clearTimeout(timeout); in Timeout_resetTimeout()
170 linkTo(timeout); in Timeout_resetTimeout()
171 uv_timer_start(&timeout->timer, handleEvent, milliseconds, 0); in Timeout_resetTimeout()
175 void Timeout_clearTimeout(struct Timeout* timeout) in Timeout_clearTimeout() argument
177 unlinkTo(timeout); in Timeout_clearTimeout()
178 if (!uv_is_closing((uv_handle_t*) &timeout->timer)) { in Timeout_clearTimeout()
179 uv_timer_stop(&timeout->timer); in Timeout_clearTimeout()
196 int Timeout_isActive(struct Timeout* timeout) in Timeout_isActive() argument
198 return (timeout && timeout->selfPtr); in Timeout_isActive()