Trait AbstractPhysicalChannel

Source
pub trait AbstractPhysicalChannel: AbstractionElement + Into<PhysicalChannel> {
    type CommunicationConnectorType: AbstractCommunicationConnector;

    // Provided methods
    fn pdu_triggerings(
        &self,
    ) -> impl Iterator<Item = PduTriggering> + Send + 'static { ... }
    fn signal_triggerings(
        &self,
    ) -> impl Iterator<Item = ISignalTriggering> + Send + 'static { ... }
    fn connectors(
        &self,
    ) -> impl Iterator<Item = Self::CommunicationConnectorType> + Send + 'static { ... }
    fn ecu_connector(
        &self,
        ecu_instance: &EcuInstance,
    ) -> Option<Self::CommunicationConnectorType> { ... }
}
Expand description

trait for physical channels

Required Associated Types§

Source

type CommunicationConnectorType: AbstractCommunicationConnector

the type of communication connector used by this physical channel

Provided Methods§

Source

fn pdu_triggerings( &self, ) -> impl Iterator<Item = PduTriggering> + Send + 'static

iterate over all PduTriggerings of this physical channel

Source

fn signal_triggerings( &self, ) -> impl Iterator<Item = ISignalTriggering> + Send + 'static

iterate over all ISignalTriggerings of this physical channel

Source

fn connectors( &self, ) -> impl Iterator<Item = Self::CommunicationConnectorType> + Send + 'static

iterate over all connectors between this physical channel and any ECU

§Example
can_controller.connect_physical_channel("Connector", &can_channel)?;
for connector in can_channel.connectors() {
   println!("Connector: {:?}", connector);
}
Source

fn ecu_connector( &self, ecu_instance: &EcuInstance, ) -> Option<Self::CommunicationConnectorType>

get the connector element between this channel and an ecu

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§