syslog_ng_common/
logpipe.rs1use syslog_ng_sys;
2use LogMessage;
3
4use syslog_ng_sys::logpipe::__log_pipe_forward_msg;
5use syslog_ng_sys::LogPathOptions;
6
7pub trait Pipe {
8 fn forward(&mut self, msg: LogMessage);
9}
10
11pub struct LogPipe(pub *mut syslog_ng_sys::LogPipe);
12
13impl Pipe for LogPipe {
14 fn forward(&mut self, msg: LogMessage) {
15 let mut path_options = LogPathOptions::default();
16 path_options.ack_needed = 0;
17 unsafe {
18 __log_pipe_forward_msg(self.0 as *mut syslog_ng_sys::LogPipe, msg.into_raw(), &path_options);
19 }
20 }
21}