1 // Copyright 2021 Ian Jackson and contributors to Hippotat
2 // SPDX-License-Identifier: GPL-3.0-or-later
3 // There is NO WARRANTY.
7 pub struct Reporter<'r> {
8 ic: &'r InstanceConfig,
12 // - report all errors
13 // - report first success after a period of lack of messages
14 // - if error, report last success
16 impl<'r> Reporter<'r> {
17 pub fn new(ic: &'r InstanceConfig) -> Self { Reporter {
21 pub fn success(&mut self) {
22 info!("{}: success", self.ic); // xxx
24 pub fn filter<T>(&mut self, req_num: Option<ReqNum>, r: Result<T,AE>)
28 // xxx something something success
32 // xxx something something error
33 if let Some(req_num) = req_num {
34 warn!("{} #{}: {:?}", self.ic, req_num, e);
36 warn!("{}: {:?}", self.ic, e);