From 5d6ae3fc2dc750264e6237e4ef51b61b93451a81 Mon Sep 17 00:00:00 2001 From: Suvendhu Hansa Date: Thu, 13 Jun 2024 13:11:37 +0530 Subject: [PATCH] obuspa: mqtt retry params runtime update --- obuspa/Makefile | 4 +- .../0013-mqtt-retry-param-change.patch | 76 +++++++++++++++++++ 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 obuspa/patches/0013-mqtt-retry-param-change.patch diff --git a/obuspa/Makefile b/obuspa/Makefile index 696314871..1d78b0f67 100644 --- a/obuspa/Makefile +++ b/obuspa/Makefile @@ -5,13 +5,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=obuspa -PKG_VERSION:=8.0.1.7 +PKG_VERSION:=8.0.1.8 LOCAL_DEV:=0 ifneq ($(LOCAL_DEV),1) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa.git -PKG_SOURCE_VERSION:=0997eebe269d766eb738b80e4d5ccd40baf79090 +PKG_SOURCE_VERSION:=aebe4c8e306f89026daf5a987dc1db98befd3474 PKG_MAINTAINER:=Vivek Dutta PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_MIRROR_HASH:=skip diff --git a/obuspa/patches/0013-mqtt-retry-param-change.patch b/obuspa/patches/0013-mqtt-retry-param-change.patch new file mode 100644 index 000000000..491f3608e --- /dev/null +++ b/obuspa/patches/0013-mqtt-retry-param-change.patch @@ -0,0 +1,76 @@ +diff --git a/src/core/device_mqtt.c b/src/core/device_mqtt.c +index 7438e59..231d941 100755 +--- a/src/core/device_mqtt.c ++++ b/src/core/device_mqtt.c +@@ -1612,14 +1612,23 @@ int NotifyChange_MQTTRequestProblemInfo(dm_req_t *req, char *value) + int NotifyChange_MQTTConnectRetryTime(dm_req_t *req, char *value) + { + mqtt_conn_params_t *mp; ++ bool schedule_reconnect = false; + + // Determine mqtt client to be updated + mp = FindMqttParamsByInstance(inst1); + USP_ASSERT(mp != NULL); + + // Set the new value. ++ if ((mp->retry.connect_retrytime != val_uint) && (mp->enable)) { ++ schedule_reconnect = true; ++ } ++ + mp->retry.connect_retrytime = val_uint; + ++ if (schedule_reconnect) { ++ ScheduleMqttReconnect(mp); ++ } ++ + return USP_ERR_OK; + } + +@@ -1638,14 +1647,23 @@ int NotifyChange_MQTTConnectRetryTime(dm_req_t *req, char *value) + int NotifyChange_MQTTConnectRetryIntervalMultiplier(dm_req_t *req, char *value) + { + mqtt_conn_params_t *mp; ++ bool schedule_reconnect = false; + + // Determine mqtt client to be updated + mp = FindMqttParamsByInstance(inst1); + USP_ASSERT(mp != NULL); + ++ if ((mp->retry.interval_multiplier != val_int) && (mp->enable)) { ++ schedule_reconnect = true; ++ } ++ + // Set the new value. + mp->retry.interval_multiplier = val_int; + ++ if (schedule_reconnect) { ++ ScheduleMqttReconnect(mp); ++ } ++ + return USP_ERR_OK; + } + +@@ -1664,14 +1682,23 @@ int NotifyChange_MQTTConnectRetryIntervalMultiplier(dm_req_t *req, char *value) + int NotifyChange_MQTTConnectRetryMaxInterval(dm_req_t *req, char *value) + { + mqtt_conn_params_t *mp; ++ bool schedule_reconnect = false; + + // Determine mqtt client to be updated + mp = FindMqttParamsByInstance(inst1); + USP_ASSERT(mp != NULL); + ++ if ((mp->retry.max_interval != val_uint) && (mp->enable)) { ++ schedule_reconnect = true; ++ } ++ + // Set the new value. + mp->retry.max_interval = val_uint; + ++ if (schedule_reconnect) { ++ ScheduleMqttReconnect(mp); ++ } ++ + return USP_ERR_OK; + } +