Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 11 Certified Message Delivery : Sequencing and Retransmission

Sequencing and Retransmission
Each sending CM transport assigns sequence numbers serially for each outbound subject, so the sequence numbers reflect the order of messages from the sending transport on a specific subject.
Certified messages always dispatch from the event queue in order by sequence number.
For example, a certified listening transport is receiving certified delivery of the subject FOO from a certified sender named BAZ. After receiving and queuing message number 32, the next message to arrive is message 35. Certified delivery software holds message 35 until it can first queue messages 33 and 34; once these messages arrive, the listening transport queues events for each of the three messages in the proper order.
Meanwhile, the certified listening transport automatically requests retransmission of messages 33 and 34 from BAZ. In a case where the time limit on those messages has expired—so BAZ no longer has them in its ledger—the certified listener transport presents a DELIVERY.UNAVAILABLE advisory, indicating that messages 33 and 34 are no longer available. Then it queues an event for message 35.
Notice that although certified messages always dispatch from the queue in order of sequence number, it is still possible that a program might process them out of order. For example, if a program dispatches the queue from several threads, the thread processing number 43 might return from its callback function before the thread processing number 42.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved