gwr_track/tracker/
dev_null.rs1use std::str::FromStr;
4
5use crate::Id;
6use crate::entity::Capacity;
7use crate::tracker::Track;
8use crate::tracker::aka::AlternativeNames;
9
10pub struct DevNullTracker;
14
15impl Track for DevNullTracker {
16 fn unique_id(&self) -> Id {
17 Id(0)
18 }
19 fn enabled_level(&self, _id: Id) -> log::Level {
20 log::Level::Error
21 }
22 fn monitoring_window_size_for(&self, _id: Id) -> Option<u64> {
23 None
24 }
25 fn add_entity(
26 &self,
27 _id: Id,
28 _entity_name: &str,
29 _alternative_names: AlternativeNames,
30 ) -> log::Level {
31 log::Level::Error
32 }
33 fn enter(&self, _id: Id, _obj: Id) {}
34 fn exit(&self, _id: Id, _obj: Id) {}
35 fn value(&self, _id: Id, _value: f64) {}
36 fn begin_activity(&self, _activity: Id, _lane: Id, _name: &str) {}
37 fn end_activity(&self, _activity: Id) {}
38 fn add_to_group(&self, _activity: Id, _group_id: Id) {}
39 fn remove_from_group(&self, _activity: Id, _group_id: Id) {}
40 fn capacity(&self, _id: Id, _capacity: Capacity) {}
41 fn create_entity(&self, _created_by: Id, _id: Id, _name: &str) {}
42 fn create_monitor(&self, _created_by: Id, _id: Id, _name: &str) {}
43 fn create_lane(&self, _created_by: Id, _id: Id, _name: &str) {}
44 fn create_group(&self, _created_by: Id, _id: Id, _name: &str) {}
45 fn create_object(
46 &self,
47 _created_by: Id,
48 _id: Id,
49 _size: usize,
50 _units: &str,
51 _req_type: u8,
52 _details: &str,
53 ) {
54 }
55 fn destroy(&self, _id: Id, _obj: Id) {}
56 fn connect(&self, _connect_from: Id, _connect_to: Id) {}
57 fn log(&self, _id: Id, _level: log::Level, _msg: std::fmt::Arguments) {}
58 fn time(&self, _set_by: Id, _time_ns: f64) {}
59 fn shutdown(&self) {}
60}
61
62#[must_use]
64pub fn str_to_level(lvl: &str) -> log::Level {
65 match log::Level::from_str(lvl) {
66 Ok(level) => level,
67 Err(_) => panic!("Unable to parse level string '{lvl}'"),
68 }
69}