26 RCSIDH(worker_h,
"$Id: fb138f84a4068ba2ddc45f1acbf97afa8d06bf2d $")
44 #include <freeradius-devel/io/base.h>
45 #include <freeradius-devel/server/command.h>
46 #include <freeradius-devel/util/event.h>
47 #include <freeradius-devel/util/heap.h>
48 #include <freeradius-devel/util/log.h>
49 #include <freeradius-devel/util/talloc.h>
90 #include <freeradius-devel/server/module.h>
A full channel, which consists of two ends.
fr_dcursor_eval_t void const * uctx
Stores all information relating to an event list.
static const conf_parser_t config[]
A time delta, a difference in time measured in nanoseconds.
static fr_event_list_t * el
A worker which takes packets from a master, and processes them.
int message_set_size
default start number of messages
fr_channel_t * fr_worker_channel_create(fr_worker_t *worker, TALLOC_CTX *ctx, fr_control_t *master)
Create a channel to the worker.
int fr_worker_subrequest_add(request_t *request)
fr_worker_t * fr_worker_create(TALLOC_CTX *ctx, fr_event_list_t *el, char const *name, fr_log_t const *logger, fr_log_lvl_t lvl, fr_worker_config_t *config))
Create a worker.
fr_cmd_table_t cmd_worker_table[]
int fr_worker_stats(fr_worker_t const *worker, int num, uint64_t *stats)
int max_requests
max requests this worker will handle
int max_channels
maximum number of channels
int fr_worker_pre_event(fr_time_t now, fr_time_delta_t wake, void *uctx)
void fr_worker_destroy(fr_worker_t *worker)
Destroy a worker.
void fr_worker_post_event(fr_event_list_t *el, fr_time_t now, void *uctx)
size_t talloc_pool_size
for each request
int fr_worker_listen_cancel(fr_worker_t *worker, fr_listen_t const *li)
void fr_worker(fr_worker_t *worker)
The main loop and entry point of the stand-alone worker thread.
int ring_buffer_size
default start size for the ring buffers
fr_time_delta_t max_request_time
maximum time a request can be processed
void fr_worker_debug(fr_worker_t *worker, FILE *fp)
Print debug information about the worker structure.