mirror of
https://github.com/esphome/esphome.git
synced 2026-09-01 18:46:02 +00:00
Replace std::vector<uint8_t> with a minimal APIBuffer class for the shared protobuf write buffer, frame helper receive buffer (rx_buf_), and noise handshake prologue buffer. std::vector::resize() zero-fills new bytes via memset. Every byte is immediately overwritten by the protobuf encoder or socket reads, making the zero-fill pure waste. APIBuffer skips zero-initialization on resize() and uses make_unique_for_overwrite where available. Also removes a dead write_raw_ template overload from api_frame_helper.h.