Index of timetableq
macro implementation of Hashed and Hierarchical Timing Wheels
e.g.)
struct element {
:
LIST_ENTRY(element) el_ttq;
};
TIMETABLEQ_HEAD(, element, 100) element_head;
/* initialize */
TIMETABLEQ_INIT(&element_head, NTIMETABLE);
/* insert */
int wheel_idx = 10;
struct element *p = ...
TIMETABLEQ_INSERT_HEAD(&element, wheel_idx, p, el_ttq);
/* remove */
struct element *p = ...
TIMETABLEQ_REMOVE(p, el_ttq);
/* rotate wheel */
TIMETABLEQ_ROTATE(&element_head);
/* foreach */
struct element *p;
TIMETABLEQ_FOREACH_TABLE(p, &element_head, 0, el_ttq) {
printf("p = %p\n", p);
}