src.bluetooth_sig.advertising

BLE Advertising data parsing and interpretation framework.

Two-layer architecture: - AdvertisingPDUParser: Low-level BLE PDU parsing (raw bytes → AD structures) - PayloadInterpreter[T]: Base class for payload interpretation (service data + manufacturer data) - AdvertisingServiceResolver: Map service UUIDs → GATT service classes - SIGCharacteristicInterpreter: Built-in interpreter for SIG characteristic service data - EAD: Encrypted advertising data support (Core Spec 1.23)

State Management:

Interpreters do NOT manage state. The caller (connection manager, device tracker) owns the DeviceAdvertisingState and passes it to interpreters. Interpreters update state directly and raise exceptions for errors.

Error Handling:

Interpreters raise exceptions (EncryptionRequiredError, DecryptionFailedError, etc.) instead of returning status codes. This is consistent with GATT characteristic parsing.

Submodules