mirror of
https://github.com/esphome/esphome.git
synced 2026-09-21 12:08:38 +00:00
8120bd373ceb50266242740e14863fc554650a17
Replace heavy STL containers with simple std::vector and linear scan for response header collection. This eliminates red-black tree (_Rb_tree) and hash table template instantiations that are unnecessary for the small number of headers typically collected (1-5 elements). Changes: - response_headers_: std::map<string, list<string>> -> std::vector<Header> - collect_headers_: std::set<string> -> std::vector<string> - perform() signature: std::set -> std::vector - Add should_collect_header() inline helper for linear scan - Lowercase collect_headers at config/insertion time instead of per-request - IDF UserData now holds references to container's vector instead of owning a separate map that gets moved after the request - Reuse existing Header struct instead of std::pair Reduces stack usage in perform() and eliminates STL container overhead on memory-constrained ESP devices.
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
609 MiB
Languages
C++
55.7%
Python
43.7%
C
0.3%
JavaScript
0.2%
