Trait AbstractNmCluster

Source
pub trait AbstractNmCluster: AbstractionElement {
    type CommunicationClusterType: AbstractCluster;
    type NmNodeType: AbstractNmNode;

Show 17 methods // Provided methods fn set_communication_cluster( &self, cluster: &Self::CommunicationClusterType, ) -> Result<(), AutosarAbstractionError> { ... } fn communication_cluster(&self) -> Option<Self::CommunicationClusterType> { ... } fn nm_nodes( &self, ) -> impl Iterator<Item = Self::NmNodeType> + Send + 'static { ... } fn set_channel_sleep_master( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError> { ... } fn channel_sleep_master(&self) -> Option<bool> { ... } fn set_node_detection_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError> { ... } fn node_detection_enabled(&self) -> Option<bool> { ... } fn set_node_id_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError> { ... } fn node_id_enabled(&self) -> Option<bool> { ... } fn set_pnc_participation( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError> { ... } fn pnc_participation(&self) -> Option<bool> { ... } fn set_repeat_msg_ind_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError> { ... } fn repeat_msg_ind_enabled(&self) -> Option<bool> { ... } fn set_synchronizing_network( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError> { ... } fn synchronizing_network(&self) -> Option<bool> { ... } fn set_pnc_cluster_vector_length( &self, value: Option<u8>, ) -> Result<(), AutosarAbstractionError> { ... } fn pnc_cluster_vector_length(&self) -> Option<u8> { ... }
}
Expand description

An NM cluster is a set of NM nodes coordinated by the NM algorithm. The AbstractNmCluster is a common interface for all bus specific NM clusters and provides common functionality.

Required Associated Types§

Source

type CommunicationClusterType: AbstractCluster

type of the communication cluster on which this NM cluster is based

Source

type NmNodeType: AbstractNmNode

type of the NM node in this cluster, e.g. CanNmNode for a CanNmCluster

Provided Methods§

Source

fn set_communication_cluster( &self, cluster: &Self::CommunicationClusterType, ) -> Result<(), AutosarAbstractionError>

set the referenced CommunicationCluster

Source

fn communication_cluster(&self) -> Option<Self::CommunicationClusterType>

get the referenced CommunicationCluster

Source

fn nm_nodes(&self) -> impl Iterator<Item = Self::NmNodeType> + Send + 'static

iterate over all NmNodes in this cluster

Source

fn set_channel_sleep_master( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>

set or remove the nmChannelSleepMaster flag

Source

fn channel_sleep_master(&self) -> Option<bool>

get the nmChannelSleepMaster flag

Source

fn set_node_detection_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>

set the nmNodeDetectionEnabled flag

Source

fn node_detection_enabled(&self) -> Option<bool>

get the nmNodeDetectionEnabled flag

Source

fn set_node_id_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>

set the nmNodeIdEnabled flag

Source

fn node_id_enabled(&self) -> Option<bool>

get the nmNodeIdEnabled flag

Source

fn set_pnc_participation( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>

set the nmPncParticipation flag

Source

fn pnc_participation(&self) -> Option<bool>

get the nmPncParticipation flag

Source

fn set_repeat_msg_ind_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>

set the nmRepeatMsgIndEnabled flag

Source

fn repeat_msg_ind_enabled(&self) -> Option<bool>

get the nmRepeatMsgIndEnabled flag

Source

fn set_synchronizing_network( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>

set the nmSynchronizingNetwork flag

Source

fn synchronizing_network(&self) -> Option<bool>

get the nmSynchronizingNetwork flag

Source

fn set_pnc_cluster_vector_length( &self, value: Option<u8>, ) -> Result<(), AutosarAbstractionError>

set the pncClusterVectorLength

Source

fn pnc_cluster_vector_length(&self) -> Option<u8>

get the pncClusterVectorLength

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§