Blocking publish and in flight buffer regrowth (#11932)
* implements blocking publish to support huge nodes until new MQTT is ready
Timotej S committed
Jan 19, 2022 at 20:13 UTC
238a967669288e6d89bc0a2c82bd86520dc99a5c
2 files changed
+6
-2
aclk/aclk_tx_msgs.c
+5
-1
@@ -147,7 +147,11 @@ static void aclk_send_message_with_bin_payload(mqtt_wss_client client, json_obje
147
json_object_to_file_ext(filename, msg, JSON_C_TO_STRING_PRETTY);
148
#endif */
149
150
- mqtt_wss_publish_pid(client, topic, full_msg, len, MQTT_WSS_PUB_QOS1, &packet_id);
150
+ int rc = mqtt_wss_publish_pid_block(client, topic, full_msg, len, MQTT_WSS_PUB_QOS1, &packet_id, 5000);
151
+ if (rc == MQTT_WSS_ERR_BLOCK_TIMEOUT)
152
+ error("Timeout sending binpacked message");
153
+ if (rc == MQTT_WSS_ERR_TX_BUF_TOO_SMALL)
154
+ error("Message is bigger than allowed maximum");
155
#ifdef NETDATA_INTERNAL_CHECKS
156
aclk_stats_msg_published(packet_id);
157
#endif
mqtt_websockets
+1
-1
@@ -1 +1 @@
1
-Subproject commit 7849ed2a1980d821cc708fc88fd2ca3d27149d23
1
+Subproject commit 73fb21462d3b0cd49cdf456875c75edc6f256f27