3.2.7.1 SEQ_ACK_RECEIVED
The SEQ_ACK_RECEIVED event MUST be triggered by the reliable messaging source (RMS) when a SequenceAcknowledgement header block is received.
The SEQ_ACK_RECEIVED event MUST be signaled with the following arguments:
The BufferRemaining argument corresponding to the value of the BufferRemaining element in the SequenceAcknowledgement header block.
If the BufferRemaining element is missing from the SequenceAcknowledgement header block, the BufferRemaining argument MUST be set to -1.
If the SEQ_ACK_RECEIVED event is signaled, the RMS MUST perform the following actions:
If the RMS is in the POLLING state:
If the BufferRemaining value is greater than 0:
The RMS MUST move to the NOT_POLLING state.
The RMS MUST cancel the POLLING_TIMER timer.
If the BufferRemaining value is equal to 0:
The RMS MUST remain in the POLLING state.
If the BufferRemaining value is equal to -1:
The RMS MUST remain in the POLLING state.
If the RMS is in the NOT_POLLING state:
If the BufferRemaining value is greater than 0:
The RMS MUST remain in the NOT_POLLING state.
If the BufferRemaining value is equal to 0:
The RMS MUST move to the POLLING state.
The RMS MUST reset the POLLING_TIMER timer.
The RMS MUST start the POLLING_TIMER timer.
If the BufferRemaining value is equal to -1:
The RMS MUST remain in the NOT_POLLING state.