1use hocon::HoconLoader;
2
3#[derive(Deserialize)]
4pub struct Config {
5 pub topic_in: String,
6 pub topic_out: String,
7 pub kafka_bootstrap: String,
8 pub k: Vec<usize>,
9 pub l: Vec<usize>,
10 pub c: Vec<i32>,
11 pub eps: Vec<f64>,
12 pub diff_thres: Vec<f64>,
13 pub delta: Vec<u64>,
14 pub noise_thr: Vec<f64>,
15 pub publish_remaining_tuples: bool,
16}
17
18impl Config {
19 pub fn new(conf_file: &String) -> Self {
20 let config: Config = HoconLoader::new()
21 .load_file(conf_file)
22 .expect("No application.conf found")
23 .resolve()
24 .expect("couldn't convert to Config");
25
26 config
27 }
28}