mirror of
https://github.com/esphome/esphome.git
synced 2026-02-28 09:54:19 -07:00
7177add985ea12a6aedeaea46a5097f5fb5bb934
ProtoSize::calculate_size() already computes the exact encoded size before encode() runs and is the boundary validation. The buffer is pre-sized to match. Since the buffer size is always correct, push_back() capacity checks on every byte are redundant overhead. Rename ProtoWriteBuffer to ProtoWritePreSizedBuffer to document the contract. Write through a raw uint8_t* pointer instead of push_back(). Pre-resize the buffer to include payload space before encoding. Add ESPHOME_DEBUG_API bounds checks to validate writes stay within the pre-sized region during development and integration testing.
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
517 MiB
Languages
C++
64.1%
Python
35.5%
C
0.3%
