3.1.6.3 Stream Receipt Coalescing Timer

This event MUST be generated with the following arguments:

  • None

Return Values:

  • None

This event indicates a time-out of the Stream Receipt Coalescing Timer (section 3.1.2.3). To process this event, the protocol MUST perform the following actions:

  • The protocol MUST stop the Stream Receipt Coalescing Timer.

  • The protocol MUST find the largest subset of messages within Stream.UnacknowledgedStreamMessages such that the smallest sequence number of the subset equals Stream.LastAcknowledgedStreamMessage+1 and there are no gaps in sequence numbers within the subset.

  • The protocol MUST set Stream.LastAcknowledgedStreamMessage to the highest sequence number of the subset that was computed above.

  • The protocol MUST create a stream receipt message that acknowledges the stream message with the sequence number Stream.LastAcknowledgedStreamMessage. The <streamId> element in the <streamReceipt> element MUST be set to Stream.IncomingId, and the <lastOrdinal> element MUST be set to Stream.LastAcknowledgedStreamMessage.

  • The stream receipt message MUST be addressed to the order queue of the sender of the stream messages to be acknowledged by setting the <to> element of the <path> element to Stream.SendReceiptsTo. The stream receipt message MUST be sent to the remote host as specified in section 3.1.7.2.5.

  • The protocol MUST remove the subset computed above from the Stream.UnacknowledgedStreamMessages collection.