pub struct StackBuilder<'stack, C, P: PacketPool> { /* private fields */ }Expand description
Implementations§
Source§impl<'stack, C: Controller, P: PacketPool> StackBuilder<'stack, C, P>
impl<'stack, C: Controller, P: PacketPool> StackBuilder<'stack, C, P>
Sourcepub fn register_l2cap_spsm(self, spsm: u16) -> Self
pub fn register_l2cap_spsm(self, spsm: u16) -> Self
Register an L2CAP SPSM (Simplified Protocol/Service Multiplexer) for accepting incoming connections.
Sourcepub fn set_random_address(self, address: Address) -> Self
pub fn set_random_address(self, address: Address) -> Self
Set the random address used by this host.
Sourcepub fn enable_privacy(self, irk: IdentityResolvingKey) -> Self
pub fn enable_privacy(self, irk: IdentityResolvingKey) -> Self
Enable BLE address privacy with the given Identity Resolving Key (IRK).
When privacy is enabled, the controller generates Resolvable Private Addresses (RPAs) that rotate periodically, preventing device tracking while allowing bonded peers to resolve the device’s identity.
The IRK should be persisted across reboots so bonded peers can continue to resolve our RPAs. Generate a new IRK using a CSPRNG for first-time setup.
After bonds are added or removed (either directly or via pairing), the controller’s resolving list is updated automatically the next time advertising, scanning, and connecting are all idle. Applications should ensure periodic idle windows to allow resolving list updates to take effect.
Sourcepub fn set_rpa_timeout(self, timeout: Duration) -> Self
pub fn set_rpa_timeout(self, timeout: Duration) -> Self
Set the RPA (Resolvable Private Address) rotation timeout.
The controller will automatically generate a new RPA after this duration. Default is 900 seconds (15 minutes) per the BLE specification.
Sourcepub fn set_random_generator_seed<RNG: RngCore + CryptoRng>(
self,
_random_generator: &mut RNG,
) -> Self
pub fn set_random_generator_seed<RNG: RngCore + CryptoRng>( self, _random_generator: &mut RNG, ) -> Self
Set the random generator seed for random generator used by security manager.
Sourcepub fn set_io_capabilities(self, io_capabilities: IoCapabilities) -> Self
pub fn set_io_capabilities(self, io_capabilities: IoCapabilities) -> Self
Set the IO capabilities used by the security manager.
Only relevant if the feature security is enabled.
Sourcepub fn build(self) -> Stack<'stack, C, P>
pub fn build(self) -> Stack<'stack, C, P>
Finalize configuration and return the stack.
Use the returned Stack for runtime operations: obtain a Runner via
Stack::runner(), and Central or
Peripheral handles via Stack::central() and
Stack::peripheral().