26 RCSIDH(schedule_h,
"$Id: 9c91134ac01cdb2464aff87433a43c5d449e122e $")
38 #include <freeradius-devel/io/channel.h>
39 #include <freeradius-devel/io/network.h>
40 #include <freeradius-devel/io/worker.h>
41 #include <freeradius-devel/util/log.h>
fr_dcursor_eval_t void const * uctx
Stores all information relating to an event list.
static const conf_parser_t config[]
fr_network_config_t network
configuration for each network;
uint32_t max_workers
number of network threads
int(* fr_schedule_thread_instantiate_t)(TALLOC_CTX *ctx, fr_event_list_t *el, void *uctx)
Setup a new thread.
void(* fr_schedule_thread_detach_t)(void *uctx)
Explicitly free resources allocated by fr_schedule_thread_instantiate_t.
int fr_schedule_worker_id(void)
Return the worker id for the current thread.
int fr_schedule_pthread_create(pthread_t *thread, void *(*func)(void *), void *arg)
Creates a new thread using our standard set of options.
fr_schedule_t * fr_schedule_create(TALLOC_CTX *ctx, fr_event_list_t *el, fr_log_t *log, fr_log_lvl_t lvl, fr_schedule_thread_instantiate_t worker_thread_instantiate, fr_schedule_thread_detach_t worked_thread_detach, fr_schedule_config_t *config))
Create a scheduler and spawn the child threads.
fr_network_t * fr_schedule_directory_add(fr_schedule_t *sc, fr_listen_t *li)
Add a directory NOTE_EXTEND to a scheduler.
fr_worker_config_t worker
configuration for each worker
fr_time_delta_t stats_interval
print channel statistics
fr_network_t * fr_schedule_listen_add(fr_schedule_t *sc, fr_listen_t *li)
Add a fr_listen_t to a scheduler.
uint32_t max_networks
number of network threads
int fr_schedule_destroy(fr_schedule_t **sc)
Destroy a scheduler, and tell its child threads to exit.
static const uchar sc[16]
A time delta, a difference in time measured in nanoseconds.
static fr_event_list_t * el