Skip to main content

WirelessMatterStack

Type Alias WirelessMatterStack 

Source
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,

Source

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>> + 't
where 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-provided NetStack implementation
  • netif - a user-provided Netif implementation
  • controller - a user-provided Controller implementation
  • mdns - a user-provided Mdns implementation
  • gatt - a user-provided GattPeripheral implementation
  • crypto - a user-provided Crypto implementation
  • handler - a user-provided DM handler implementation
  • kv - a user-provided KvBlobStoreAccess implementation
  • user - a user-provided future that will be polled only when the netif interface is up
Source

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-provided ThreadCoex implementation
  • crypto - a user-provided Crypto implementation
  • handler - a user-provided DM handler implementation
  • kv - a user-provided KvBlobStoreAccess implementation
  • user - a user-provided future that will be polled only when the netif interface is up
Source

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-provided Thread + Gatt implementation
  • crypto - a user-provided Crypto implementation
  • handler - a user-provided DM handler implementation
  • kv - a user-provided KvBlobStoreAccess implementation
  • user - a user-provided future that will be polled only when the netif interface is up
Source

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,

Source

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>> + 't
where 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-provided NetStack implementation
  • netif - a user-provided Netif implementation
  • controller - a user-provided Controller implementation
  • mdns - a user-provided Mdns implementation
  • gatt - a user-provided GattPeripheral implementation
  • crypto - a user-provided Crypto implementation
  • handler - a user-provided DM handler implementation
  • kv - a user-provided KvBlobStoreAccess implementation
  • user - a user-provided future that will be polled only when the netif interface is up
Source

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-provided WifiCoex implementation
  • crypto - a user-provided Crypto implementation
  • handler - a user-provided DM handler implementation
  • kv - a user-provided KvBlobStoreAccess implementation
  • user - a user-provided future that will be polled only when the netif interface is up
Source

pub async fn run<W, C, H, K, U>( &self, wifi: W, crypto: C, handler: H, kv: K, user: U, ) -> Result<(), Error>
where W: Wifi + Gatt, C: Crypto, H: DataModel, K: KvBlobStoreAccess, U: UserTask,

Run the Matter stack for a wireless network where the BLE and the Wifi stacks cannot co-exist.

§Arguments
  • wifi - a user-provided Wifi + Gatt implementation
  • crypto - a user-provided Crypto implementation
  • handler - a user-provided DM handler implementation
  • kv - a user-provided KvBlobStoreAccess implementation
  • user - a user-provided future that will be polled only when the netif interface is up
Source

pub const fn root_endpoint() -> Endpoint<'static>

Return a metadata for the root (Endpoint 0) of the Matter Node configured for BLE+Wifi network.