pub trait Network: Sealed {
type Embedding<'a>: Embedding
where Self: 'a;
type Networks: RsNetworks;
const INIT: Self;
const NETWORKS: Self::Networks;
// Required methods
fn init() -> impl Init<Self>;
fn init_networks() -> impl Init<Self::Networks>;
fn discovery_capabilities(&self) -> DiscoveryCapabilities;
fn embedding(&self) -> &Self::Embedding<'_>;
}Expand description
A trait modeling a specific network type.
MatterStack is parameterized by a network type implementing this trait.
The trait is sealed and has only two implementations: Eth and WirelessBle.
Required Associated Constants§
Required Associated Types§
Sourcetype Embedding<'a>: Embedding
where
Self: 'a
type Embedding<'a>: Embedding where Self: 'a
Optional additional state embedded in the network state
Sourcetype Networks: RsNetworks
type Networks: RsNetworks
The rs-matter networks store type owned by the stack’s
InteractionModelState for this network kind.
For Ethernet (and other transports where the Matter stack does not manage
network credentials) this is a no-op store; for the wireless (BLE+Wifi/Thread)
network it is a WirelessNetworks store.
Required Methods§
Sourcefn init_networks() -> impl Init<Self::Networks>
fn init_networks() -> impl Init<Self::Networks>
Return an in-place initializer for the rs-matter networks store.
Sourcefn discovery_capabilities(&self) -> DiscoveryCapabilities
fn discovery_capabilities(&self) -> DiscoveryCapabilities
Return the discovery capabilities of this network when commissioning the device.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".