rsiot/components_config/influxdb3/config.rs
1//! Тестирование:
2//!
3//! ```bash
4//! cargo test -p rsiot-components-config --doc influxdb_v2
5//! ```
6
7use std::time::Duration;
8
9use crate::message::*;
10
11use super::LineProtocolItem;
12
13/// Функция преобразования входящих сообщений
14pub type FnInput<TMsg> = fn(&Message<TMsg>) -> Option<Vec<LineProtocolItem>>;
15
16// ANCHOR: Config
17/// Конфигурация cmp_influxdb
18#[derive(Clone, Debug)]
19pub struct Config<TMsg> {
20 /// # Примеры
21 ///
22 /// ```ignore
23 /// host: String::from("influxdb"),
24 /// ```
25 pub host: String,
26
27 /// Порт базы данных
28 pub port: u16,
29
30 /// База данных
31 pub database: String,
32
33 /// Периодичность отправки данных для сохранения в базе данных
34 pub send_period: Duration,
35
36 /// Функция преобразования сообщения в строки протокола InfluxDB
37 pub fn_input: FnInput<TMsg>,
38}
39// ANCHOR: Config