26RCSIDH(worker_h,
"$Id: 85d724e53c6cd2d60772e23e651e13b9db458271 $")
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/slab.h>
50#include <freeradius-devel/util/talloc.h>
93#include <freeradius-devel/server/module.h>
A full channel, which consists of two ends.
Stores all information relating to an event list.
static const conf_parser_t config[]
Tuneable parameters for slabs.
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.
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 message_set_size
default start number of messages
int fr_worker_subrequest_add(request_t *request)
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)
fr_worker_t * fr_worker_alloc(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.
int fr_worker_listen_cancel(fr_worker_t *worker, fr_listen_t const *li)
int fr_worker_request_timeout_set(fr_worker_t *worker, request_t *request, fr_time_delta_t timeout)
Set, or re-set the request timer.
void fr_worker(fr_worker_t *worker)
The main loop and entry point of the stand-alone worker thread.
fr_slab_config_t reuse
slab allocator configuration
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.