Skip to main content

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