J. Nick Koston 30d7834fa8 [api] Devirtualize frame helper calls when protocol is fixed at compile time
When only one API protocol is configured (plaintext-only or noise-only),
use the concrete frame helper type in unique_ptr instead of the base
class. Since both APIPlaintextFrameHelper and APINoiseFrameHelper are
marked final, the compiler can devirtualize all virtual calls
(read_packet, write_protobuf_packet, loop, etc.), eliminating vtable
dispatch overhead in the hot APIConnection::loop() path.

When both protocols are enabled (encryption key set with plaintext
fallback), the polymorphic base pointer is used as before.
2026-03-04 09:13:53 -10:00
2023-06-12 17:00:34 +12:00
2022-09-06 15:48:01 +12:00
2025-12-21 09:26:03 -05:00
2024-03-28 10:20:51 +13:00
2025-07-17 22:40:28 +12:00
2026-03-03 10:55:56 -10:00
2025-12-08 14:37:45 -05:00
2026-03-03 20:45:28 +13:00
2025-07-17 22:40:28 +12:00
2026-02-11 22:11:48 -05:00
2025-12-05 08:48:04 -05:00
S
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
584 MiB
Languages
C++ 56.2%
Python 43.2%
C 0.3%
JavaScript 0.2%