pub trait IComponent<TMessage> {
    // Required methods
    fn set_input(&mut self, input: ComponentInput<TMessage>);
    fn set_output(&mut self, output: ComponentOutput<TMessage>);
    fn set_cache(&mut self, cache: Cache<TMessage>);
    fn spawn(
        &mut self
    ) -> Result<JoinHandle<Result<(), ComponentError>>, ComponentError>;

    // Provided method
    fn set_and_spawn(
        &mut self,
        input: ComponentInput<TMessage>,
        output: ComponentOutput<TMessage>
    ) -> Result<JoinHandle<Result<(), ComponentError>>, ComponentError> { ... }
}
Expand description

Трейт для работы с компонентом из построителя цепочки компонентов ComponentChainBuilder

Required Methods§

source

fn set_input(&mut self, input: ComponentInput<TMessage>)

Задать входной поток

source

fn set_output(&mut self, output: ComponentOutput<TMessage>)

Задать выходной поток

source

fn set_cache(&mut self, cache: Cache<TMessage>)

source

fn spawn( &mut self ) -> Result<JoinHandle<Result<(), ComponentError>>, ComponentError>

Порождаем асинхронную задачу

Provided Methods§

source

fn set_and_spawn( &mut self, input: ComponentInput<TMessage>, output: ComponentOutput<TMessage> ) -> Result<JoinHandle<Result<(), ComponentError>>, ComponentError>

Задать входной и выходной потоки и запустить на выполнение

Implementors§

source§

impl<TMessage, TConfig> IComponent<TMessage> for Component<TMessage, TConfig>
where TMessage: IMessage,