1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use url::Url;

use rsiot_component_core::Component;
use rsiot_messages_core::IMessage;

use crate::function::function;

#[derive(Clone, Debug)]
pub struct Config {
    /// Адрес сервера Redis
    pub url: Url,
    /// Название канала Pub/Sub и хеша, где хранятся сообщения
    pub redis_channel: String,
}

pub fn create<TMessage>(config: Config) -> Box<Component<TMessage, Config>>
where
    TMessage: IMessage + 'static,
{
    let cmp = Component::new(config, function);
    Box::new(cmp)
}