/* This should be called by log_reader_free -> log_pipe_unref because this is the control pipe of the reader */ static void afsocket_sc_free(LogPipe *s) { AFSocketSourceConnection *self = (AFSocketSourceConnection *) s; g_sockaddr_unref(self->peer_addr); log_pipe_free_method(s); }
static void log_process_pipe_free(LogPipe *s) { LogProcessPipe *self = (LogProcessPipe *) s; log_process_rule_unref(self->rule); log_pipe_free_method(s); }
static void log_multiplexer_free(LogPipe *s) { LogMultiplexer *self = (LogMultiplexer *) s; g_ptr_array_free(self->next_hops, TRUE); log_pipe_free_method(s); }
static void log_filter_pipe_free(LogPipe *s) { LogFilterPipe *self = (LogFilterPipe *) s; g_free(self->name); filter_expr_unref(self->expr); log_pipe_free_method(s); }
static void log_source_group_free(LogPipe *s) { LogSourceGroup *self = (LogSourceGroup *) s; log_drv_unref(self->drivers); g_free(self->name); log_pipe_free_method(s); }
void log_rewrite_free_method(LogPipe *s) { LogRewrite *self = (LogRewrite *) s; if (self->condition) filter_expr_unref(self->condition); g_free(self->name); log_pipe_free_method(s); }
void log_source_free(LogPipe *s) { LogSource *self = (LogSource *) s; g_free(self->stats_id); g_free(self->stats_instance); log_pipe_free_method(s); ack_tracker_free(self->ack_tracker); }
/* NOTE: intentionally static, as only cDriver or LogDestDriver will derive from LogDriver */ static void log_driver_free(LogPipe *s) { LogDriver *self = (LogDriver *) s; GList *l; for (l = self->plugins; l; l = l->next) { log_driver_plugin_free((LogDriverPlugin *) l->data); } if (self->group) g_free(self->group); if (self->id) g_free(self->id); log_pipe_free_method(s); }