mirror of
https://github.com/esphome/esphome.git
synced 2026-09-16 09:38:42 +00:00
5850931d2793834c60217a5b365b21f00a544841
Replace virtual handler interfaces (GAPEventHandler, GAPScanEventHandler, GATTcEventHandler, GATTsEventHandler, BLEStatusEventHandler) with StaticCallbackManager-based dispatch using lambda callbacks. This eliminates vtable lookups and MI this-pointer adjustment thunks on every BLE event dispatch in the hot path. Each lambda captures a single pointer (fits in Callback inline storage, no heap allocation) and the StaticCallbackManager avoids std::vector template bloat. Breaking change: external components inheriting from the virtual handler classes need to switch to add_*_callback() registration instead.
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
601 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
