rsiot/executor/
types.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
use tokio::sync::{broadcast, mpsc};

use crate::message::*;

use super::ComponentError;

/// Тип возвращаемого значения функции `process` компонента
pub type CmpResult = Result<(), ComponentError>;
pub(crate) type CmpInput<TMsg> = broadcast::Receiver<Message<TMsg>>;
pub(crate) type CmpOutput<TMsg> = mpsc::Sender<Message<TMsg>>;

/// Функция фильтрации сообщений в зависимости от авторизации
pub(crate) type FnAuth<TMsg> = fn(Message<TMsg>, &AuthPermissions) -> Option<Message<TMsg>>;