3.1.5.4 MSG_SEGLIST Response Received

On receiving a MSG_SEGLIST (section 2.2.5.4) response message from a server, the client MUST verify that it is a well-formed GetSegmentList request message (per section 2.2.4.4) in its Outstanding Request List. The client then performs the following checks:

  • The client MUST verify that the RequestID matches any request in the Outstanding Request List. If a request with a matching RequestID is not found in the Outstanding Request List, the client MUST silently discard the MSG_SEGLIST message and abort the exchange.

  • The client MUST make sure that the all index entries from the ranges reported in the MSG_SEGLIST received are contained within the array of segment IDs specified in the request matching the RequestID in the Outstanding Request List. The client MUST silently discard the MSG_SEGLIST message and abort the exchange if the check fails.

If this verification is successful, then the peer MUST do the following:

  • Delete the corresponding request message from the Outstanding Request List, and cancel its Request Timer.

  • Return the list of segment IDs identified by the ranges from the MSG_SEGLIST message, as well as the server address, to the higher-layer applications.

Otherwise, the response message MUST be silently discarded.