rsiot::executor

Trait IComponentProcess

source
pub trait IComponentProcess<TConfig, TMsg>
where TMsg: MsgDataBound,
{ // Required method fn process<'life0, 'async_trait>( &'life0 self, config: TConfig, in_out: CmpInOut<TMsg>, ) -> Pin<Box<dyn Future<Output = CmpResult> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; }
Expand description

Трейт основной функции компонента

Каждый компонент должен определить данный трейт

Required Methods§

source

fn process<'life0, 'async_trait>( &'life0 self, config: TConfig, in_out: CmpInOut<TMsg>, ) -> Pin<Box<dyn Future<Output = CmpResult> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Основная функция компонента

Implementors§

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

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

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config, TMsg> for Component<Config, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg> IComponentProcess<Config<TMsg>, TMsg> for Component<Config<TMsg>, TMsg>
where TMsg: MsgDataBound + 'static,

source§

impl<TMsg, I, Q, S> IComponentProcess<Config<TMsg, I, Q, S>, TMsg> for Component<Config<TMsg, I, Q, S>, TMsg>
where TMsg: MsgDataBound + 'static, I: Clone + Default + Send + Serialize + 'static + Sync, Q: Clone + Default + Send + Serialize + 'static + Sync, S: Clone + Default + Send + Serialize + 'static + Sync, FunctionBlockBase<I, Q, S>: IFunctionBlock<I, Q, S>,

source§

impl<TMsg, TFnPeriodic> IComponentProcess<Config<TMsg, TFnPeriodic>, TMsg> for Component<Config<TMsg, TFnPeriodic>, TMsg>
where TMsg: MsgDataBound, TFnPeriodic: FnMut() -> Vec<Message<TMsg>> + Send + Sync,

source§

impl<TMsg, TI2c, TPeripheral> IComponentProcess<Config<TMsg, TI2c, TPeripheral>, TMsg> for Component<Config<TMsg, TI2c, TPeripheral>, TMsg>
where TMsg: MsgDataBound + 'static, TI2c: Peripheral<P = TPeripheral> + 'static, TPeripheral: I2c,

source§

impl<TMsg, TI2c, TPeripheral, TI2cRequest, TI2cResponse, TBufferData> IComponentProcess<Config<TMsg, TI2c, TPeripheral, TI2cRequest, TI2cResponse, TBufferData>, TMsg> for Component<Config<TMsg, TI2c, TPeripheral, TI2cRequest, TI2cResponse, TBufferData>, TMsg>
where TMsg: MsgDataBound + 'static, TI2c: Peripheral<P = TPeripheral> + 'static, TPeripheral: I2c, TI2cRequest: Debug + DeserializeOwned + 'static, TI2cResponse: Debug + Serialize + 'static, TBufferData: BufferData + 'static,

source§

impl<TMsg, TPeripheral, TRmt> IComponentProcess<Config<TMsg, TPeripheral, TRmt>, TMsg> for Component<Config<TMsg, TPeripheral, TRmt>, TMsg>
where TMsg: MsgDataBound + 'static, TRmt: Peripheral<P = TPeripheral> + 'static, TPeripheral: RmtChannel,

source§

impl<TMsg, TSpi, TPeripheral> IComponentProcess<Config<TMsg, TSpi, TPeripheral>, TMsg> for Component<Config<TMsg, TSpi, TPeripheral>, TMsg>
where TMsg: MsgDataBound + 'static, TSpi: Peripheral<P = TPeripheral> + 'static, TPeripheral: Spi + SpiAnyPins + 'static,

source§

impl<TMsg, TStorageData> IComponentProcess<Config<TMsg, TStorageData>, TMsg> for Component<Config<TMsg, TStorageData>, TMsg>
where TMsg: MsgDataBound + 'static, TStorageData: Debug + Default + DeserializeOwned + PartialEq + Serialize + 'static,

source§

impl<TMsg, TUart, TPeripheral, TBufferData> IComponentProcess<Config<TMsg, TUart, TPeripheral, TBufferData>, TMsg> for Component<Config<TMsg, TUart, TPeripheral, TBufferData>, TMsg>
where TMsg: MsgDataBound + 'static, TUart: Peripheral<P = TPeripheral> + 'static, TPeripheral: Uart, TBufferData: 'static,