rsiot/components/cmp_math/config.rs
1use crate::message::{MsgDataBound, ValueTime};
2
3use super::Algs;
4
5// ANCHOR: Config
6/// Конфигурация компонента cmp_math
7pub struct Config<TMsg>
8where
9 TMsg: MsgDataBound,
10{
11 /// Ветки конфигурации
12 pub branches: Vec<ConfigBranch<TMsg>>,
13}
14// ANCHOR: Config
15
16/// Конфигурация ветки
17pub struct ConfigBranch<TMsg>
18where
19 TMsg: MsgDataBound,
20{
21 /// Функция получения значения из входящих сообщений
22 pub fn_input: fn(&TMsg) -> Option<ValueTime>,
23
24 /// Алгоритмы математической обработки
25 pub algs: Vec<Algs<TMsg>>,
26
27 /// Функция создания исходящего сообщения на основе значения
28 pub fn_output: fn(&ValueTime) -> Option<TMsg>,
29}