diff --git a/build b/build index 4800c7da..fc9afb48 100644 --- a/build +++ b/build @@ -1 +1 @@ -58 \ No newline at end of file +59 \ No newline at end of file diff --git a/src/AP_WS_Process_healthcheck.cpp b/src/AP_WS_Process_healthcheck.cpp index a6aab872..5b0f2bd9 100644 --- a/src/AP_WS_Process_healthcheck.cpp +++ b/src/AP_WS_Process_healthcheck.cpp @@ -3,6 +3,7 @@ // #include "AP_WS_Connection.h" +#include "AP_WS_Server.h" #include "StorageService.h" #include "fmt/format.h" @@ -55,7 +56,7 @@ namespace OpenWifi { } SetLastHealthCheck(Check); - if (KafkaManager()->Enabled()) { + if (KafkaManager()->Enabled() && !AP_WS_Server()->KafkaDisableHealthChecks()) { KafkaManager()->PostMessage(KafkaTopics::HEALTHCHECK, SerialNumber_, *ParamsObj); } } else { diff --git a/src/AP_WS_Process_state.cpp b/src/AP_WS_Process_state.cpp index 567c7cdd..ffacb0ed 100644 --- a/src/AP_WS_Process_state.cpp +++ b/src/AP_WS_Process_state.cpp @@ -3,6 +3,7 @@ // #include "AP_WS_Connection.h" +#include "AP_WS_Server.h" #include "StateUtils.h" #include "StorageService.h" @@ -59,7 +60,7 @@ namespace OpenWifi { StateUtils::ComputeAssociations(StateObj, State_.Associations_2G, State_.Associations_5G, State_.Associations_6G); - if (KafkaManager()->Enabled()) { + if (KafkaManager()->Enabled() && !AP_WS_Server()->KafkaDisableState()) { KafkaManager()->PostMessage(KafkaTopics::STATE, SerialNumber_, *ParamsObj); } diff --git a/src/AP_WS_Server.cpp b/src/AP_WS_Server.cpp index 2addb841..dacb6750 100644 --- a/src/AP_WS_Server.cpp +++ b/src/AP_WS_Server.cpp @@ -167,6 +167,9 @@ namespace OpenWifi { WebServerHttpParams); WebServers_.push_back(std::move(NewWebServer)); } + + KafkaDisableState_ = MicroServiceConfigGetBool("openwifi.kafka.disablestate", false); + KafkaDisableHealthChecks_ = MicroServiceConfigGetBool("openwifi.kafka.disablehealthchecks", false); } for (auto &server : WebServers_) { diff --git a/src/AP_WS_Server.h b/src/AP_WS_Server.h index 0f0f4cd9..9d9cb9ac 100644 --- a/src/AP_WS_Server.h +++ b/src/AP_WS_Server.h @@ -192,6 +192,8 @@ namespace OpenWifi { RX = RX_; } + bool KafkaDisableState() const { return KafkaDisableState_; } + bool KafkaDisableHealthChecks() const { return KafkaDisableHealthChecks_; } private: std::array SessionMutex_; @@ -223,6 +225,9 @@ namespace OpenWifi { std::uint64_t LeftOverSessions_ = 0; std::atomic_uint64_t TX_=0,RX_=0; + std::atomic_bool KafkaDisableState_=false, + KafkaDisableHealthChecks_=false; + Poco::Thread GarbageCollector_; AP_WS_Server() noexcept