Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

It is not uncommon for horizontally scalable/clustered MQTT Servers to not support guaranteed in order delivery of QoS 0 messages and this custom property allows the 're-ordering' of messages that arrive out of order.

Note
Feature is supported for Ignition7 in MQTT Engine module version 3.4.10 or greater and for Ignition8 in MQTT Engine module 4.0.4 or greater

How It Works

MQTT Engine needs to process QoS 0 messages in order based on their sequence number. If MQTT Engine receives a message with an out of order sequence number, the message is buffered and the reorderingTimeout timer is started.

If the expected sequence number does not come in before the reorderingTimeout expires, all buffered data is flushed and a rebirth is requested.

If the expected sequence number does arrive before the reorderingTimeout expires, the data in the buffer is processed until the next expected sequence number message is missing, when the reorderTimeout timer is restarted.

Usage

  1. On the MQTT Engine 'General' configuration tab, under the Advanced section, set 'Custom Properties' to be the following string: