KEEL
1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
Loading...
Searching...
No Matches
include
keel
timer.h
Go to the documentation of this file.
1
#ifndef KEEL_TIMER_H
2
#define KEEL_TIMER_H
3
4
#include <
keel/event_ctx.h
>
5
#include <stdint.h>
6
11
typedef
void (*
KlTimerFn
)(
void
*user_data);
12
16
struct
KlTimerEntry
{
17
uint64_t
deadline_ms
;
18
KlTimerFn
cb
;
19
void
*
user_data
;
20
int64_t
id
;
21
};
22
38
int64_t
kl_timer_add
(
KlEventCtx
*ctx, uint64_t delay_ms,
39
KlTimerFn
cb,
void
*user_data);
40
51
int
kl_timer_cancel
(
KlEventCtx
*ctx, int64_t timer_id);
52
64
int
kl_timer_next_timeout
(
KlEventCtx
*ctx,
int
max_ms);
65
75
int
kl_timer_fire
(
KlEventCtx
*ctx);
76
77
#endif
event_ctx.h
KlEventCtx
Composable event loop context.
Definition
event_ctx.h:42
KlTimerEntry
Timer heap entry (stored in KlEventCtx.timers array).
Definition
timer.h:16
KlTimerEntry::id
int64_t id
Definition
timer.h:20
KlTimerEntry::deadline_ms
uint64_t deadline_ms
Definition
timer.h:17
KlTimerEntry::user_data
void * user_data
Definition
timer.h:19
KlTimerEntry::cb
KlTimerFn cb
Definition
timer.h:18
kl_timer_add
int64_t kl_timer_add(KlEventCtx *ctx, uint64_t delay_ms, KlTimerFn cb, void *user_data)
Schedule a one-shot timer.
kl_timer_fire
int kl_timer_fire(KlEventCtx *ctx)
Fire all expired timers.
kl_timer_cancel
int kl_timer_cancel(KlEventCtx *ctx, int64_t timer_id)
Cancel a pending timer.
KlTimerFn
void(* KlTimerFn)(void *user_data)
Timer callback function.
Definition
timer.h:11
kl_timer_next_timeout
int kl_timer_next_timeout(KlEventCtx *ctx, int max_ms)
Compute the timeout for the next kl_event_wait call.
Generated by
1.9.8