syslog_ng_common/
logpipe.rs

1use 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}