pub type WirelessMatterStack<'a, const B: usize, T, E = ()> = MatterStack<'a, B, WirelessBle<T, E>>;Expand description
A type alias for a Matter stack running over either Wifi or Thread (and BLE, during commissioning).
Aliased Type§
pub struct WirelessMatterStack<'a, const B: usize, T, E = ()> { /* private fields */ }Implementations§
Source§impl<const B: usize, E> WirelessMatterStack<'_, B, Thread, E>where
E: Embedding,
impl<const B: usize, E> WirelessMatterStack<'_, B, Thread, E>where
E: Embedding,
Sourcepub fn run_preex<'t, U, N, Q, D, G, C, H, K, X>(
&'t self,
net_stack: U,
netif: N,
net_ctl: Q,
mdns: D,
gatt: G,
crypto: C,
handler: H,
kv: K,
user: X,
) -> impl Future<Output = Result<(), Error>> + 'twhere
U: NetStack + 't,
N: NetifDiag + NetChangeNotif + 't,
Q: NetCtl + ThreadDiag + NetChangeNotif + 't,
D: Mdns + 't,
G: GattPeripheral + 't,
C: Crypto + 't,
H: DataModel + 't,
K: KvBlobStoreAccess + 't,
X: UserTask + 't,
pub fn run_preex<'t, U, N, Q, D, G, C, H, K, X>(
&'t self,
net_stack: U,
netif: N,
net_ctl: Q,
mdns: D,
gatt: G,
crypto: C,
handler: H,
kv: K,
user: X,
) -> impl Future<Output = Result<(), Error>> + 'twhere
U: NetStack + 't,
N: NetifDiag + NetChangeNotif + 't,
Q: NetCtl + ThreadDiag + NetChangeNotif + 't,
D: Mdns + 't,
G: GattPeripheral + 't,
C: Crypto + 't,
H: DataModel + 't,
K: KvBlobStoreAccess + 't,
X: UserTask + 't,
Run the Matter stack for an already pre-established wireless network where the BLE and the Thread stacks can co-exist.
§Arguments
net_stack- a user-providedNetStackimplementationnetif- a user-providedNetifimplementationcontroller- a user-providedControllerimplementationmdns- a user-providedMdnsimplementationgatt- a user-providedGattPeripheralimplementationcrypto- a user-providedCryptoimplementationhandler- a user-provided DM handler implementationkv- a user-providedKvBlobStoreAccessimplementationuser- a user-provided future that will be polled only when the netif interface is up
Sourcepub async fn run_coex<W, C, H, K, U>(
&self,
thread: W,
crypto: C,
handler: H,
kv: K,
user: U,
) -> Result<(), Error>
pub async fn run_coex<W, C, H, K, U>( &self, thread: W, crypto: C, handler: H, kv: K, user: U, ) -> Result<(), Error>
Run the Matter stack for a wireless network where the BLE and the Wifi stacks can co-exist.
§Arguments
thread- a user-providedThreadCoeximplementationcrypto- a user-providedCryptoimplementationhandler- a user-provided DM handler implementationkv- a user-providedKvBlobStoreAccessimplementationuser- a user-provided future that will be polled only when the netif interface is up
Sourcepub async fn run<W, C, H, K, U>(
&self,
thread: W,
crypto: C,
handler: H,
kv: K,
user: U,
) -> Result<(), Error>
pub async fn run<W, C, H, K, U>( &self, thread: W, crypto: C, handler: H, kv: K, user: U, ) -> Result<(), Error>
Run the Matter stack for a wireless network where the BLE and the Thread stacks cannot co-exist.
§Arguments
thread- a user-providedThread+Gattimplementationcrypto- a user-providedCryptoimplementationhandler- a user-provided DM handler implementationkv- a user-providedKvBlobStoreAccessimplementationuser- a user-provided future that will be polled only when the netif interface is up
Sourcepub const fn root_endpoint() -> Endpoint<'static>
pub const fn root_endpoint() -> Endpoint<'static>
Return a metadata for the root (Endpoint 0) of the Matter Node configured for BLE+Thread network.
Source§impl<const B: usize, E> WirelessMatterStack<'_, B, Wifi, E>where
E: Embedding,
impl<const B: usize, E> WirelessMatterStack<'_, B, Wifi, E>where
E: Embedding,
Sourcepub async fn run_preex<'t, U, N, Q, D, G, C, H, K, X>(
&'t self,
net_stack: U,
netif: N,
net_ctl: Q,
mdns: D,
gatt: G,
crypto: C,
handler: H,
kv: K,
user: X,
) -> impl Future<Output = Result<(), Error>> + 'twhere
U: NetStack + 't,
N: NetifDiag + NetChangeNotif + 't,
Q: NetCtl + WifiDiag + NetChangeNotif + 't,
D: Mdns + 't,
G: GattPeripheral + 't,
C: Crypto + 't,
H: DataModel + 't,
K: KvBlobStoreAccess + 't,
X: UserTask + 't,
pub async fn run_preex<'t, U, N, Q, D, G, C, H, K, X>(
&'t self,
net_stack: U,
netif: N,
net_ctl: Q,
mdns: D,
gatt: G,
crypto: C,
handler: H,
kv: K,
user: X,
) -> impl Future<Output = Result<(), Error>> + 'twhere
U: NetStack + 't,
N: NetifDiag + NetChangeNotif + 't,
Q: NetCtl + WifiDiag + NetChangeNotif + 't,
D: Mdns + 't,
G: GattPeripheral + 't,
C: Crypto + 't,
H: DataModel + 't,
K: KvBlobStoreAccess + 't,
X: UserTask + 't,
Run the Matter stack for an already pre-established wireless network where the BLE and the Wifi stacks can co-exist.
§Arguments
net_stack- a user-providedNetStackimplementationnetif- a user-providedNetifimplementationcontroller- a user-providedControllerimplementationmdns- a user-providedMdnsimplementationgatt- a user-providedGattPeripheralimplementationcrypto- a user-providedCryptoimplementationhandler- a user-provided DM handler implementationkv- a user-providedKvBlobStoreAccessimplementationuser- a user-provided future that will be polled only when the netif interface is up
Sourcepub async fn run_coex<W, C, H, K, U>(
&self,
wifi: W,
crypto: C,
handler: H,
kv: K,
user: U,
) -> Result<(), Error>
pub async fn run_coex<W, C, H, K, U>( &self, wifi: W, crypto: C, handler: H, kv: K, user: U, ) -> Result<(), Error>
Run the Matter stack for a wireless network where the BLE and the Wifi stacks can co-exist.
§Arguments
wifi- a user-providedWifiCoeximplementationcrypto- a user-providedCryptoimplementationhandler- a user-provided DM handler implementationkv- a user-providedKvBlobStoreAccessimplementationuser- a user-provided future that will be polled only when the netif interface is up
Sourcepub async fn run<W, C, H, K, U>(
&self,
wifi: W,
crypto: C,
handler: H,
kv: K,
user: U,
) -> Result<(), Error>
pub async fn run<W, C, H, K, U>( &self, wifi: W, crypto: C, handler: H, kv: K, user: U, ) -> Result<(), Error>
Run the Matter stack for a wireless network where the BLE and the Wifi stacks cannot co-exist.
§Arguments
wifi- a user-providedWifi+Gattimplementationcrypto- a user-providedCryptoimplementationhandler- a user-provided DM handler implementationkv- a user-providedKvBlobStoreAccessimplementationuser- a user-provided future that will be polled only when the netif interface is up
Sourcepub const fn root_endpoint() -> Endpoint<'static>
pub const fn root_endpoint() -> Endpoint<'static>
Return a metadata for the root (Endpoint 0) of the Matter Node configured for BLE+Wifi network.