Eliminate web_server_idf guard variable to save 8 bytes RAM (#9344)

This commit is contained in:
J. Nick Koston 2025-07-06 05:06:32 -05:00 committed by GitHub
parent 0bc18a8281
commit 4673a5b48c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 4 deletions

View File

@ -37,6 +37,15 @@ namespace 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
namespace {
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
DefaultHeaders default_headers_instance;
} // namespace
DefaultHeaders &DefaultHeaders::Instance() { return default_headers_instance; }
void AsyncWebServer::end() {
if (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); }
// NOLINTNEXTLINE(readability-identifier-naming)
static DefaultHeaders &Instance() {
static DefaultHeaders instance;
return instance;
}
static DefaultHeaders &Instance();
protected:
std::vector<std::pair<std::string, std::string>> headers_;