Skip to main content

Module cmp_inject_periodic

Module cmp_inject_periodic 

Source
Expand description

Компонент для периодического создания сообщений.

§Структура

InjectPeriodicMsgBus

Компонент состоит из одной задачи 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