25 #ifndef LOGTHRSOURCEDRV_H
26 #define LOGTHRSOURCEDRV_H
41 typedef struct _LogThreadedSourceWorkerOptions
48 typedef struct _WakeupCondition
66 void (*
run)(LogThreadedSourceWorker *
self);
68 void (*
wakeup)(LogThreadedSourceWorker *
self);
82 LogThreadedSourceWorker *(*worker_construct)(LogThreadedSourceDriver *
self, gint worker_index);
87 const gchar *group_name, gint num_workers);
97 log_threaded_source_driver_set_num_workers(LogDriver *s, gint num_workers)
99 LogThreadedSourceDriver *
self = (LogThreadedSourceDriver *) s;
100 self->num_workers = num_workers;
104 log_threaded_source_driver_get_source_options(LogDriver *s)
106 LogThreadedSourceDriver *
self = (LogThreadedSourceDriver *) s;
108 return &
self->worker_options.super;
112 log_threaded_source_driver_get_parse_options(LogDriver *s)
114 LogThreadedSourceDriver *
self = (LogThreadedSourceDriver *) s;
116 return &
self->worker_options.parse_options;
void log_threaded_source_driver_set_transport_name(LogThreadedSourceDriver *self, const gchar *transport_name)
Definition: logthrsourcedrv.c:461
void log_threaded_source_worker_options_destroy(LogThreadedSourceWorkerOptions *options)
Definition: logthrsourcedrv.c:125
void log_threaded_source_worker_post(LogThreadedSourceWorker *self, LogMessage *msg)
Definition: logthrsourcedrv.c:415
void log_threaded_source_worker_close_batch(LogThreadedSourceWorker *self)
Definition: logthrsourcedrv.c:409
void log_threaded_source_worker_blocking_post(LogThreadedSourceWorker *self, LogMessage *msg)
Definition: logthrsourcedrv.c:436
void log_threaded_source_driver_init_instance(LogThreadedSourceDriver *self, GlobalConfig *cfg)
Definition: logthrsourcedrv.c:469
void log_threaded_source_worker_options_defaults(LogThreadedSourceWorkerOptions *options)
Definition: logthrsourcedrv.c:101
gboolean log_threaded_source_driver_init_method(LogPipe *s)
Definition: logthrsourcedrv.c:320
void log_threaded_source_driver_free_method(LogPipe *s)
Definition: logthrsourcedrv.c:350
void log_threaded_source_worker_options_init(LogThreadedSourceWorkerOptions *options, GlobalConfig *cfg, const gchar *group_name, gint num_workers)
Definition: logthrsourcedrv.c:110
void log_threaded_source_worker_free(LogPipe *s)
Definition: logthrsourcedrv.c:216
void log_threaded_source_worker_init_instance(LogThreadedSourceWorker *self, LogThreadedSourceDriver *driver, gint worker_index)
Definition: logthrsourcedrv.c:230
gboolean log_threaded_source_driver_deinit_method(LogPipe *s)
Definition: logthrsourcedrv.c:340
gboolean log_threaded_source_worker_free_to_send(LogThreadedSourceWorker *self)
Definition: logthrsourcedrv.c:430
Definition: logsource.h:36
Definition: logthrsourcedrv.h:42
LogSourceOptions super
Definition: logthrsourcedrv.h:43
AckTrackerFactory * ack_tracker_factory
Definition: logthrsourcedrv.h:45
MsgFormatOptions parse_options
Definition: logthrsourcedrv.h:44
Definition: logthrsourcedrv.h:49
gboolean awoken
Definition: logthrsourcedrv.h:52
GCond cond
Definition: logthrsourcedrv.h:51
GMutex lock
Definition: logthrsourcedrv.h:50
Definition: logthrsourcedrv.h:72
LogThreadedSourceWorkerOptions worker_options
Definition: logthrsourcedrv.h:74
LogSrcDriver super
Definition: logthrsourcedrv.h:73
gboolean auto_close_batches
Definition: logthrsourcedrv.h:77
gint num_workers
Definition: logthrsourcedrv.h:76
void(* format_stats_key)(LogThreadedSourceDriver *self, StatsClusterKeyBuilder *kb)
Definition: logthrsourcedrv.h:81
gchar * transport_name
Definition: logthrsourcedrv.h:78
gsize transport_name_len
Definition: logthrsourcedrv.h:79
LogThreadedSourceWorker ** workers
Definition: logthrsourcedrv.h:75
Definition: logthrsourcedrv.h:56
MainLoopThreadedWorker thread
Definition: logthrsourcedrv.h:58
LogThreadedSourceDriver * control
Definition: logthrsourcedrv.h:59
LogSource super
Definition: logthrsourcedrv.h:57
void(* request_exit)(LogThreadedSourceWorker *self)
Definition: logthrsourcedrv.h:67
gboolean under_termination
Definition: logthrsourcedrv.h:61
gboolean(* thread_init)(LogThreadedSourceWorker *self)
Definition: logthrsourcedrv.h:64
void(* run)(LogThreadedSourceWorker *self)
Definition: logthrsourcedrv.h:66
WakeupCondition wakeup_cond
Definition: logthrsourcedrv.h:60
void(* thread_deinit)(LogThreadedSourceWorker *self)
Definition: logthrsourcedrv.h:65
void(* wakeup)(LogThreadedSourceWorker *self)
Definition: logthrsourcedrv.h:68
gint worker_index
Definition: logthrsourcedrv.h:62
GlobalConfig * cfg
Definition: test_batched_ack_tracker.c:34
HTTPDestinationDriver * driver
Definition: test_http-signal_slot.c:35
LogMessage * msg
Definition: test_rename.c:35