mirror of
https://github.com/esphome/esphome.git
synced 2026-02-19 07:55:35 -07:00
4a6eb0b16d74bc48ab62b2e6d3a1511ca453243d
Move fd_, closed_, and loop_monitored_ fields from BSD/LWIP socket implementations to the base Socket class. Since only one socket implementation is active per build, these can be non-virtual. Make Socket::ready() and get_fd() non-virtual, eliminating vtable dispatch on every main loop iteration. Inline is_socket_ready via friendship for the fast path while keeping the public API with bounds checking for external callers. Saves ~316 bytes of flash on ESP32-IDF builds.
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
373 MiB
Languages
C++
64.2%
Python
35.5%
C
0.2%
