This repository has been archived on 2023-09-20. You can view files and clone it, but cannot push or open issues or pull requests.
rust-opensmtpd/opensmtpd/examples/session_event_counter.rs
Rodolphe Breard 995c0c35c1 Improve the simple_filter macro
The simple_filter macro must accept the two different levels of
contexts. In the same way, it should also accept the log level, and
therefore replace the now removed simple_filter_log_level macro.
2019-09-18 14:52:21 +02:00

19 lines
391 B
Rust

use log;
use opensmtpd::entry::Entry;
use opensmtpd::{report, simple_filter};
#[derive(Clone, Default)]
struct MyContext {
nb: usize,
}
#[report(v1, smtp_in, match(all))]
fn on_report(ctx: &mut MyContext, entry: &Entry) {
ctx.nb += 1;
log::info!("Event received: {}, {}", entry.get_session_id(), ctx.nb);
Ok(())
}
fn main() {
simple_filter!(MyContext, [on_report]);
}