OpenVPN
|
Go to the source code of this file.
Data Structures | |
struct | schedule_entry |
struct | schedule |
Macros | |
#define | IN_TREE(e) ((e)->pri) |
Functions | |
struct schedule * | schedule_init (void) |
void | schedule_free (struct schedule *s) |
void | schedule_remove_entry (struct schedule *s, struct schedule_entry *e) |
struct schedule_entry * | schedule_find_least (struct schedule_entry *e) |
void | schedule_add_modify (struct schedule *s, struct schedule_entry *e) |
void | schedule_remove_node (struct schedule *s, struct schedule_entry *e) |
static void | schedule_add_entry (struct schedule *s, struct schedule_entry *e, const struct timeval *tv, unsigned int sigma) |
static struct schedule_entry * | schedule_get_earliest_wakeup (struct schedule *s, struct timeval *wakeup) |
#define IN_TREE | ( | e | ) | ((e)->pri) |
Definition at line 75 of file schedule.h.
Referenced by schedule_add_entry(), and schedule_add_modify().
|
inlinestatic |
Definition at line 98 of file schedule.h.
References schedule::earliest_wakeup, IN_TREE, schedule_add_modify(), schedule_entry::tv, and tv_within_sigma().
Referenced by multi_push_restart_schedule_exit(), and multi_schedule_context_wakeup().
void schedule_add_modify | ( | struct schedule * | s, |
struct schedule_entry * | e | ||
) |
Definition at line 346 of file schedule.c.
References check_debug_level(), D_SCHEDULER, IN_TREE, schedule_entry::parent, schedule_entry::pri, schedule::root, schedule_insert(), schedule_remove_node(), schedule_rotate_up(), and schedule_set_pri().
Referenced by schedule_add_entry(), and schedule_remove_entry().
struct schedule_entry* schedule_find_least | ( | struct schedule_entry * | e | ) |
Definition at line 386 of file schedule.c.
References check_debug_level(), D_SCHEDULER, and schedule_entry::lt.
Referenced by schedule_get_earliest_wakeup(), and schedule_remove_entry().
void schedule_free | ( | struct schedule * | s | ) |
|
static |
Definition at line 118 of file schedule.h.
References schedule::earliest_wakeup, schedule::root, schedule_find_least(), and schedule_entry::tv.
Referenced by multi_get_timeout().
struct schedule* schedule_init | ( | void | ) |
Definition at line 414 of file schedule.c.
References ALLOC_OBJ_CLEAR.
Referenced by multi_init(), and schedule_remove_entry().
void schedule_remove_entry | ( | struct schedule * | s, |
struct schedule_entry * | e | ||
) |
Definition at line 429 of file schedule.c.
References ALLOC_ARRAY, ALLOC_OBJ_CLEAR, ASSERT, CLEAR, schedule::earliest_wakeup, free, gc_free(), gc_new(), get_random(), schedule_entry::gt, schedule_entry::lt, schedule_entry::parent, schedule_entry::pri, prng_bytes(), ptr_format, random, schedule::root, schedule_add_modify(), schedule_entry_compare(), schedule_find_least(), schedule_init(), schedule_remove_node(), status, schedule_entry::tv, tv_eq(), tv_le(), tv_lt(), and tv_string().
Referenced by multi_close_instance(), and multi_process_timeout().
void schedule_remove_node | ( | struct schedule * | s, |
struct schedule_entry * | e | ||
) |
Definition at line 250 of file schedule.c.
References schedule_entry::gt, schedule_entry::lt, schedule_entry::pri, schedule_detach_parent(), and schedule_rotate_up().
Referenced by schedule_add_modify(), and schedule_remove_entry().