From b51dfae718f856001d4c25d449d811b1ca66e58f Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 14 Nov 2020 15:41:05 +0100 Subject: [PATCH] change queue size for standalone --- src/mqtt.cpp | 8 +++----- src/mqtt.h | 9 ++++++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/mqtt.cpp b/src/mqtt.cpp index 3ab2ae3c3..28f8b0436 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -39,9 +39,9 @@ bool Mqtt::mqtt_enabled_; std::vector Mqtt::mqtt_subfunctions_; -uint16_t Mqtt::mqtt_publish_fails_ = 0; +uint16_t Mqtt::mqtt_publish_fails_ = 0; // size_t Mqtt::maximum_mqtt_messages_ = Mqtt::MAX_MQTT_MESSAGES; -uint16_t Mqtt::mqtt_message_id_ = 0; +uint16_t Mqtt::mqtt_message_id_ = 0; std::list Mqtt::mqtt_messages_; char will_topic_[Mqtt::MQTT_TOPIC_MAX_SIZE]; // because MQTT library keeps only char pointer @@ -181,7 +181,7 @@ void Mqtt::show_mqtt(uuid::console::Shell & shell) { return; } - shell.printfln(F("MQTT queue (%d messages):"), mqtt_messages_.size()); + shell.printfln(F("MQTT queue (%d/%d messages):"), mqtt_messages_.size(), MAX_MQTT_MESSAGES); for (const auto & message : mqtt_messages_) { auto content = message.content_; @@ -730,7 +730,6 @@ void Mqtt::register_mqtt_ha_binary_sensor(const __FlashStringHelper * name, cons // delay(MQTT_PUBLISH_WAIT); delay(50); - } // HA config for a normal 'sensor' type @@ -826,6 +825,5 @@ void Mqtt::register_mqtt_ha_sensor(const char * prefix, // delay(MQTT_PUBLISH_WAIT); // don't flood asynctcp delay(50); // enough time to send the short message out - } } // namespace emsesp diff --git a/src/mqtt.h b/src/mqtt.h index 8b987dbb4..ead5681d9 100644 --- a/src/mqtt.h +++ b/src/mqtt.h @@ -171,11 +171,14 @@ class Mqtt { static std::list mqtt_messages_; static AsyncMqttClient * mqttClient_; + static uint16_t mqtt_message_id_; - // static size_t maximum_mqtt_messages_; - static uint16_t mqtt_message_id_; +#if defined(EMSESP_STANDALONE) + static constexpr size_t MAX_MQTT_MESSAGES = 70; // size of queue +#else + static constexpr size_t MAX_MQTT_MESSAGES = 20; // size of queue +#endif - static constexpr size_t MAX_MQTT_MESSAGES = 20; // size of queue static constexpr uint32_t MQTT_PUBLISH_WAIT = 200; // delay between sending publishes, to account for large payloads static constexpr uint8_t MQTT_PUBLISH_MAX_RETRY = 3; // max retries for giving up on publishing