mirror of
https://github.com/esphome/esphome.git
synced 2026-08-24 07:06:20 +00:00
084ff9d6e3f757f60b51dd4994474e4eec3af469
The split serialized service discovery behind the MTU exchange: the backend reported connected only at CFG_MTU_EVT and the wrapper started discovery on that report, costing one ATT round trip per uncached connection. The backend now pre-starts the search at OPEN_EVT (it knows the connection type) and completes the consumer's discover_services() from it: SEARCH_CMPL latches silently until requested, the flush after the connected report delivers in the same event drain, and a refused pre-start falls back to the serialized path. Net RAM cost is zero (the flags pack into one bitfield byte plus a status byte, replacing the two existing bools). Also from review: SEARCH_CMPL no longer clobbers a teardown in progress with ESTABLISHED, the five streamer abort sites latch pending_error_ so HA sees the real Bluedroid status instead of a generic HCI reason, and a completed re-discovery frees a materialized service table before the counts its offsets derive from move.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
575 MiB
Languages
C++
58.3%
Python
41.1%
C
0.3%
JavaScript
0.2%
