Background worker that runs the lightweight NetworkScanner ping sweep.
(self, ssid)
| 377 | now = time.time() |
| 378 | if self._pending_ssid_change != ssid: |
| 379 | self._pending_ssid_change = ssid |
| 380 | self._pending_ssid_first_seen = now |
| 381 | self.logger.info( |
| 382 | f"SSID change observed: {active_ssid!r} -> {ssid!r}, " |
| 383 | f"debouncing {self.ssid_change_debounce_s}s before switching " |
| 384 | f"network storage") |
| 385 | return |
| 386 | |
| 387 | elapsed = now - self._pending_ssid_first_seen |
| 388 | if elapsed < self.ssid_change_debounce_s: |
| 389 | self.logger.debug( |
| 390 | f"SSID {ssid!r} pending {elapsed:.1f}/" |
| 391 | f"{self.ssid_change_debounce_s}s") |
| 392 | return |
| 393 | |
| 394 | self.logger.info( |
| 395 | f"SSID {ssid!r} confirmed after {elapsed:.1f}s — switching storage") |
| 396 | self._propagate_active_network(ssid) |
| 397 | self._pending_ssid_change = None |
| 398 | self._pending_ssid_first_seen = 0.0 |
| 399 | |
| 400 | def _propagate_active_network(self, ssid): |
| 401 | try: |
| 402 | self.shared_data.set_active_network(ssid) |
| 403 | except Exception as exc: |
| 404 | self.logger.warning( |
nothing calls this directly
no test coverage detected