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§
Sourcetype CommunicationClusterType: AbstractCluster
type CommunicationClusterType: AbstractCluster
type of the communication cluster on which this NM cluster is based
Sourcetype NmNodeType: AbstractNmNode
type NmNodeType: AbstractNmNode
type of the NM node in this cluster, e.g. CanNmNode
for a CanNmCluster
Provided Methods§
Sourcefn set_communication_cluster(
&self,
cluster: &Self::CommunicationClusterType,
) -> Result<(), AutosarAbstractionError>
fn set_communication_cluster( &self, cluster: &Self::CommunicationClusterType, ) -> Result<(), AutosarAbstractionError>
set the referenced CommunicationCluster
Sourcefn communication_cluster(&self) -> Option<Self::CommunicationClusterType>
fn communication_cluster(&self) -> Option<Self::CommunicationClusterType>
get the referenced CommunicationCluster
Sourcefn nm_nodes(&self) -> impl Iterator<Item = Self::NmNodeType> + Send + 'static
fn nm_nodes(&self) -> impl Iterator<Item = Self::NmNodeType> + Send + 'static
iterate over all NmNodes
in this cluster
Sourcefn set_channel_sleep_master(
&self,
value: Option<bool>,
) -> Result<(), AutosarAbstractionError>
fn set_channel_sleep_master( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>
set or remove the nmChannelSleepMaster flag
Sourcefn channel_sleep_master(&self) -> Option<bool>
fn channel_sleep_master(&self) -> Option<bool>
get the nmChannelSleepMaster flag
Sourcefn set_node_detection_enabled(
&self,
value: Option<bool>,
) -> Result<(), AutosarAbstractionError>
fn set_node_detection_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>
set the nmNodeDetectionEnabled flag
Sourcefn node_detection_enabled(&self) -> Option<bool>
fn node_detection_enabled(&self) -> Option<bool>
get the nmNodeDetectionEnabled flag
Sourcefn set_node_id_enabled(
&self,
value: Option<bool>,
) -> Result<(), AutosarAbstractionError>
fn set_node_id_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>
set the nmNodeIdEnabled flag
Sourcefn node_id_enabled(&self) -> Option<bool>
fn node_id_enabled(&self) -> Option<bool>
get the nmNodeIdEnabled flag
Sourcefn set_pnc_participation(
&self,
value: Option<bool>,
) -> Result<(), AutosarAbstractionError>
fn set_pnc_participation( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>
set the nmPncParticipation flag
Sourcefn pnc_participation(&self) -> Option<bool>
fn pnc_participation(&self) -> Option<bool>
get the nmPncParticipation flag
Sourcefn set_repeat_msg_ind_enabled(
&self,
value: Option<bool>,
) -> Result<(), AutosarAbstractionError>
fn set_repeat_msg_ind_enabled( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>
set the nmRepeatMsgIndEnabled flag
Sourcefn repeat_msg_ind_enabled(&self) -> Option<bool>
fn repeat_msg_ind_enabled(&self) -> Option<bool>
get the nmRepeatMsgIndEnabled flag
Sourcefn set_synchronizing_network(
&self,
value: Option<bool>,
) -> Result<(), AutosarAbstractionError>
fn set_synchronizing_network( &self, value: Option<bool>, ) -> Result<(), AutosarAbstractionError>
set the nmSynchronizingNetwork flag
Sourcefn synchronizing_network(&self) -> Option<bool>
fn synchronizing_network(&self) -> Option<bool>
get the nmSynchronizingNetwork flag
Sourcefn set_pnc_cluster_vector_length(
&self,
value: Option<u8>,
) -> Result<(), AutosarAbstractionError>
fn set_pnc_cluster_vector_length( &self, value: Option<u8>, ) -> Result<(), AutosarAbstractionError>
set the pncClusterVectorLength
Sourcefn pnc_cluster_vector_length(&self) -> Option<u8>
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.