pub trait ThreadDiag: WirelessDiag {
Show 20 methods
// Provided methods
fn channel(&self) -> Result<Option<u16>, Error> { ... }
fn routing_role(&self) -> Result<Option<RoutingRoleEnum>, Error> { ... }
fn network_name(
&self,
f: &mut dyn FnMut(Option<&str>) -> Result<(), Error>,
) -> Result<(), Error> { ... }
fn pan_id(&self) -> Result<Option<u16>, Error> { ... }
fn extended_pan_id(&self) -> Result<Option<u64>, Error> { ... }
fn mesh_local_prefix(
&self,
f: &mut dyn FnMut(Option<&[u8]>) -> Result<(), Error>,
) -> Result<(), Error> { ... }
fn neighbor_table(
&self,
_f: &mut dyn FnMut(&NeighborTable) -> Result<(), Error>,
) -> Result<(), Error> { ... }
fn route_table(
&self,
_f: &mut dyn FnMut(&RouteTable) -> Result<(), Error>,
) -> Result<(), Error> { ... }
fn partition_id(&self) -> Result<Option<u32>, Error> { ... }
fn weighting(&self) -> Result<Option<u16>, Error> { ... }
fn data_version(&self) -> Result<Option<u16>, Error> { ... }
fn stable_data_version(&self) -> Result<Option<u16>, Error> { ... }
fn leader_router_id(&self) -> Result<Option<u8>, Error> { ... }
fn ext_address(&self) -> Result<Option<u64>, Error> { ... }
fn rloc_16(&self) -> Result<Option<u16>, Error> { ... }
fn security_policy(&self) -> Result<Option<SecurityPolicy>, Error> { ... }
fn channel_page0_mask(
&self,
f: &mut dyn FnMut(Option<&[u8]>) -> Result<(), Error>,
) -> Result<(), Error> { ... }
fn operational_dataset_components(
&self,
f: &mut dyn FnMut(Option<&OperationalDatasetComponents>) -> Result<(), Error>,
) -> Result<(), Error> { ... }
fn active_network_faults_list(
&self,
_f: &mut dyn FnMut(NetworkFaultEnum) -> Result<(), Error>,
) -> Result<(), Error> { ... }
fn mac_counters(
&self,
f: &mut dyn FnMut(Option<&MacCounters>) -> Result<(), Error>,
) -> Result<(), Error> { ... }
}Expand description
The minimal set of data required to implement the Thread Network Diagnostics Cluster
The names of the methods in this trait are matching 1:1 the mandatory attributes of the Thread Network Diagnostics Cluster.
Provided Methods§
fn channel(&self) -> Result<Option<u16>, Error>
fn routing_role(&self) -> Result<Option<RoutingRoleEnum>, Error>
fn network_name( &self, f: &mut dyn FnMut(Option<&str>) -> Result<(), Error>, ) -> Result<(), Error>
fn pan_id(&self) -> Result<Option<u16>, Error>
fn extended_pan_id(&self) -> Result<Option<u64>, Error>
fn mesh_local_prefix( &self, f: &mut dyn FnMut(Option<&[u8]>) -> Result<(), Error>, ) -> Result<(), Error>
fn neighbor_table( &self, _f: &mut dyn FnMut(&NeighborTable) -> Result<(), Error>, ) -> Result<(), Error>
fn route_table( &self, _f: &mut dyn FnMut(&RouteTable) -> Result<(), Error>, ) -> Result<(), Error>
fn partition_id(&self) -> Result<Option<u32>, Error>
fn weighting(&self) -> Result<Option<u16>, Error>
fn data_version(&self) -> Result<Option<u16>, Error>
fn stable_data_version(&self) -> Result<Option<u16>, Error>
fn leader_router_id(&self) -> Result<Option<u8>, Error>
fn ext_address(&self) -> Result<Option<u64>, Error>
fn rloc_16(&self) -> Result<Option<u16>, Error>
fn security_policy(&self) -> Result<Option<SecurityPolicy>, Error>
fn channel_page0_mask( &self, f: &mut dyn FnMut(Option<&[u8]>) -> Result<(), Error>, ) -> Result<(), Error>
fn operational_dataset_components( &self, f: &mut dyn FnMut(Option<&OperationalDatasetComponents>) -> Result<(), Error>, ) -> Result<(), Error>
fn active_network_faults_list( &self, _f: &mut dyn FnMut(NetworkFaultEnum) -> Result<(), Error>, ) -> Result<(), Error>
Sourcefn mac_counters(
&self,
f: &mut dyn FnMut(Option<&MacCounters>) -> Result<(), Error>,
) -> Result<(), Error>
fn mac_counters( &self, f: &mut dyn FnMut(Option<&MacCounters>) -> Result<(), Error>, ) -> Result<(), Error>
Lend a snapshot of the IEEE 802.15.4 MAC counters (the cluster’s
MACCounts feature set) to the provided closure, or call it with
None if the backend does not track them - in which case the
corresponding attributes read as unsupported.
Lent by reference (as the other composite payloads of this trait) rather than returned by value: the snapshot is a ~144-byte struct.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".