Expand description
Компонент для периодического создания сообщений.
§Структура
Компонент состоит из одной задачи InjectPeriodic. С периодом Config::period на основе функции Config::fn_periodic формируются исходящие сообщения и передаются в шину MsgBus.
§Конфигурация
Конфигурация задаётся структурой Config.
§Примеры
§Пример 1
Счётчик увеличивается каждые 100 миллисекунд и отправляется в шину MsgBus.
Содержимое файла config_inject_periodic/mod.rs:
use std::time::Duration;
use rsiot::components::cmp_inject_periodic::*;
use crate::messages::*;
pub fn cmp() -> Cmp<Msg, impl FnMut() -> Vec<Msg>> {
let mut counter = 0;
let config = Config {
period: Duration::from_millis(100),
fn_periodic: move || {
let msg = Msg::Counter(counter);
counter += 1;
vec![msg]
},
};
Cmp::new(config)
}Structs§
- Config
- Конфигурация cmp_inject_periodic
Enums§
- Error
- Ошибки компонента cmp_inject_periodic
Constants§
- COMPONENT_
NAME - Название компонента
Type Aliases§
- Cmp
- Компонент cmp_inject_periodic