Eliminate web_server_idf guard variable to save 8 bytes RAM

This commit is contained in:
J. Nick Koston 2025-07-05 22:24:26 -05:00
parent b0f8922056
commit 82c788d6ce
No known key found for this signature in database
2 changed files with 7 additions and 4 deletions

View File

@ -37,6 +37,12 @@ namespace web_server_idf {
static const char *const TAG = "web_server_idf"; static const char *const TAG = "web_server_idf";
// Global instance to avoid guard variable (saves 8 bytes)
// This is initialized at program startup before any threads
static DefaultHeaders default_headers_instance;
DefaultHeaders &DefaultHeaders::Instance() { return default_headers_instance; }
void AsyncWebServer::end() { void AsyncWebServer::end() {
if (this->server_) { if (this->server_) {
httpd_stop(this->server_); httpd_stop(this->server_);

View File

@ -328,10 +328,7 @@ class DefaultHeaders {
void addHeader(const char *name, const char *value) { this->headers_.emplace_back(name, value); } void addHeader(const char *name, const char *value) { this->headers_.emplace_back(name, value); }
// NOLINTNEXTLINE(readability-identifier-naming) // NOLINTNEXTLINE(readability-identifier-naming)
static DefaultHeaders &Instance() { static DefaultHeaders &Instance();
static DefaultHeaders instance;
return instance;
}
protected: protected:
std::vector<std::pair<std::string, std::string>> headers_; std::vector<std::pair<std::string, std::string>> headers_;