mirror of
https://github.com/esphome/esphome.git
synced 2026-02-24 10:18:23 -07:00
af4579ca87abfc15dccf0efb16c2e5a3d8ac7451
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
478 MiB
Languages
C++
64.1%
Python
35.6%
C
0.2%
