4 #include <queued_entry_timestamp.h>
5 #include "reader_common.h"
7 struct subreader_logger_file {
11 struct subreader_logger_metrics {
12 struct qos_module *qos;
15 struct subreader_logger {
16 void (*sub_apply_log)(const struct subreader_logger *srl, const struct dlogutil_entry *due);
17 void (*sub_flush)(void *sub_userdata, struct timespec ts, int flush_time);
18 void (*sub_destroy)(void *sub_userdata);
20 dlogutil_filter_options_s *filter;
23 struct reader_logger {
30 int reader_logger_init(struct reader_logger **reader, log_id_t buf_id, struct logger *server, bool skip);
31 int service_reader_logger(struct reader_logger* reader, struct now_t time);
32 int reader_logger_add_subreader_file(struct reader_logger *reader, dlogutil_filter_options_s *filter, struct log_file *file);
33 int reader_logger_add_subreader_metrics(struct reader_logger *reader, struct qos_module *qos);
34 void reader_logger_free(struct reader_logger *reader);
35 void reader_logger_cleanup(struct reader_logger *const *ptr);
36 void reader_logger_flush(struct reader_logger *reader, struct timespec now_mono, int flush);