OpenVPN
|
#include "syshead.h"
#include "buffer.h"
#include "misc.h"
#include "crypto.h"
#include "schedule.h"
#include "memdbg.h"
Go to the source code of this file.
Functions | |
static void | schedule_set_pri (struct schedule_entry *e) |
static int | schedule_entry_compare (const struct schedule_entry *e1, const struct schedule_entry *e2) |
static void | schedule_detach_parent (struct schedule *s, struct schedule_entry *e) |
static void | schedule_rotate_up (struct schedule *s, struct schedule_entry *e) |
void | schedule_remove_node (struct schedule *s, struct schedule_entry *e) |
static void | schedule_insert (struct schedule *s, struct schedule_entry *e) |
void | schedule_add_modify (struct schedule *s, struct schedule_entry *e) |
struct schedule_entry * | schedule_find_least (struct schedule_entry *e) |
struct schedule * | schedule_init (void) |
void | schedule_free (struct schedule *s) |
void | schedule_remove_entry (struct schedule *s, struct schedule_entry *e) |
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().
|
inlinestatic |
Definition at line 133 of file schedule.c.
References ASSERT, schedule_entry::gt, schedule_entry::lt, schedule_entry::parent, and schedule::root.
Referenced by schedule_remove_node().
|
inlinestatic |
Definition at line 90 of file schedule.c.
References schedule_entry::pri, and schedule_entry::tv.
Referenced by schedule_insert(), 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 | ) |
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().
|
static |
Definition at line 287 of file schedule.c.
References schedule_entry::gt, schedule_entry::lt, schedule_entry::parent, schedule::root, schedule_entry_compare(), and schedule_set_pri().
Referenced by schedule_add_modify().
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().
|
static |
Definition at line 176 of file schedule.c.
References ASSERT, schedule_entry::gt, schedule_entry::lt, schedule_entry::parent, and schedule::root.
Referenced by schedule_add_modify(), and schedule_remove_node().
|
inlinestatic |
Definition at line 75 of file schedule.c.
References schedule_entry::pri, and random.
Referenced by schedule_add_modify(), and schedule_insert().