mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
BLE continuous advertising, probe cooldown replaces burst beacon
Replace burst beacon pattern (1s on / 30s off) with continuous advertising. The burst pattern caused L2CAP connect timeouts because the remote side was no longer connectable when the probe fired after jitter delay. BLE advertising overhead is negligible (~0.15% duty cycle on advertising channels). Replace the seen HashSet + jitter delay queue with a simple cooldown map. After probing an address (success or failure), suppress re-probe for 30s (configurable via probe_cooldown_secs). Connected peers are filtered by pool membership check. This eliminates the bug where failed probes permanently blacklisted addresses for the session lifetime. Remove config fields: scan_interval_secs, beacon_interval_secs, beacon_duration_secs. Add: probe_cooldown_secs.
This commit is contained in:
+3
-3
@@ -21,9 +21,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Bluetooth Low Energy (BLE) L2CAP Connection-Oriented Channel transport
|
||||
with per-link MTU negotiation, behind the `ble` Cargo feature flag
|
||||
(default-on, Linux only, requires BlueZ)
|
||||
- BLE peer discovery via scan/probe with per-entry random jitter to
|
||||
prevent herd effects when multiple nodes see the same beacon
|
||||
- Periodic BLE beacon advertising with configurable interval and duration
|
||||
- BLE peer discovery via continuous scan/probe with cooldown-based
|
||||
deduplication (`probe_cooldown_secs`, default 30s)
|
||||
- Continuous BLE advertising for reliable L2CAP connectivity
|
||||
- Cross-probe tie-breaker using deterministic NodeAddr comparison
|
||||
- Connection pool with configurable capacity and eviction
|
||||
|
||||
|
||||
Reference in New Issue
Block a user