rsiot::executor

Trait IComponentProcess

source
pub trait IComponentProcess<TConfig, TMsg, TService>
where TMsg: MsgDataBound, TService: ServiceBound,
{ // Required method fn process<'life0, 'async_trait>( &'life0 self, config: TConfig, in_out: CmpInOut<TMsg, TService>, ) -> 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, TService>, ) -> Pin<Box<dyn Future<Output = CmpResult> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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

Implementors§

source§

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

source§

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

source§

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

source§

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

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<TMsg, TService, I, Q, S> IComponentProcess<Config<TMsg, I, Q, S>, TMsg, TService> for Component<Config<TMsg, I, Q, S>, TMsg, TService>
where TMsg: MsgDataBound + 'static, TService: ServiceBound + '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, TService, TPeripheral, TRmt> IComponentProcess<Config<TMsg, TPeripheral, TRmt>, TMsg, TService> for Component<Config<TMsg, TPeripheral, TRmt>, TMsg, TService>
where TMsg: MsgDataBound + 'static, TRmt: Peripheral<P = TPeripheral> + 'static, TPeripheral: RmtChannel, TService: ServiceBound,

source§

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

source§

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

source§

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