MQTT QoS 1 Ordering
11:41 11 Dec 2023

I came across this answer: https://stackoverflow.com/a/38094997/403875

But I'm not clear on what it means to "re-send in the order in which the PUBLISH packets were sent".

Suppose I send, "A", "B", "C" (all with QoS 1) and get back ACK's for "A" and "C" ("B" was lost). If I then re-send "B", the receiver will receive them out of order, won't they? So what does this restriction do? When does it apply? Does the sender need to re-send "B" and "C" to ensure that "C" is received last? What if this time it gets an ACK for "B", but not "C". Does it need to now send "C" again until it gets another "C" ACK?

network-programming mqtt packet-loss