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§
Sourcetype CommunicationConnectorType: AbstractCommunicationConnector
type CommunicationConnectorType: AbstractCommunicationConnector
the type of communication connector used by this physical channel
Provided Methods§
Sourcefn pdu_triggerings(
&self,
) -> impl Iterator<Item = PduTriggering> + Send + 'static
fn pdu_triggerings( &self, ) -> impl Iterator<Item = PduTriggering> + Send + 'static
iterate over all PduTriggerings
of this physical channel
Sourcefn signal_triggerings(
&self,
) -> impl Iterator<Item = ISignalTriggering> + Send + 'static
fn signal_triggerings( &self, ) -> impl Iterator<Item = ISignalTriggering> + Send + 'static
iterate over all ISignalTriggerings
of this physical channel
Sourcefn connectors(
&self,
) -> impl Iterator<Item = Self::CommunicationConnectorType> + Send + 'static
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);
}
Sourcefn ecu_connector(
&self,
ecu_instance: &EcuInstance,
) -> Option<Self::CommunicationConnectorType>
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.