OpenVPN
Functions
schedule.c File Reference
#include "syshead.h"
#include "buffer.h"
#include "misc.h"
#include "crypto.h"
#include "schedule.h"
#include "memdbg.h"
Include dependency graph for schedule.c:

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_entryschedule_find_least (struct schedule_entry *e)
 
struct scheduleschedule_init (void)
 
void schedule_free (struct schedule *s)
 
void schedule_remove_entry (struct schedule *s, struct schedule_entry *e)
 

Function Documentation

◆ schedule_add_modify()

void schedule_add_modify ( struct schedule s,
struct schedule_entry e 
)

◆ schedule_detach_parent()

static void schedule_detach_parent ( struct schedule s,
struct schedule_entry e 
)
inlinestatic

◆ schedule_entry_compare()

static int schedule_entry_compare ( const struct schedule_entry e1,
const struct schedule_entry e2 
)
inlinestatic

Definition at line 88 of file schedule.c.

References schedule_entry::pri, and schedule_entry::tv.

Referenced by schedule_insert().

◆ schedule_find_least()

struct schedule_entry* schedule_find_least ( struct schedule_entry e)

Definition at line 384 of file schedule.c.

References check_debug_level(), D_SCHEDULER, and schedule_entry::lt.

Referenced by schedule_get_earliest_wakeup().

◆ schedule_free()

void schedule_free ( struct schedule s)

Definition at line 421 of file schedule.c.

Referenced by multi_uninit().

◆ schedule_init()

struct schedule* schedule_init ( void  )

Definition at line 412 of file schedule.c.

References ALLOC_OBJ_CLEAR.

Referenced by multi_init().

◆ schedule_insert()

static void schedule_insert ( struct schedule s,
struct schedule_entry e 
)
static

◆ schedule_remove_entry()

void schedule_remove_entry ( struct schedule s,
struct schedule_entry e 
)

Definition at line 427 of file schedule.c.

References schedule::earliest_wakeup, and schedule_remove_node().

Referenced by multi_close_instance(), and multi_process_timeout().

◆ schedule_remove_node()

void schedule_remove_node ( struct schedule s,
struct schedule_entry e 
)

◆ schedule_rotate_up()

static void schedule_rotate_up ( struct schedule s,
struct schedule_entry e 
)
static

◆ schedule_set_pri()

static void schedule_set_pri ( struct schedule_entry e)
inlinestatic

Definition at line 73 of file schedule.c.

References schedule_entry::pri, and random.

Referenced by schedule_add_modify(), and schedule_insert().