3.1.5.3 Receiving a Collect Data Response Message

  1. When a Collect Data Response Message (section 2.2.2.4) arrives through a per-session Socket, the initiator checks if the Common Message Header (section 2.2.1.2) is valid. If not, the initiator MUST tear down the Diagnostic Session and return failure of the request to the calling layer.

  2. The initiator checks the state of the Handshaking field. If it is set, the initiator MUST tear down the Diagnostic Session and return failure of the request to the calling layer.

  3. The initiator checks that the Pended Request is set to Collect Data (value 0x000C). If not, the initiator MUST tear down the Diagnostic session and return failure of the request to the calling layer.

  4. The Per-Session Response timer MUST now be reset. The information returned in the Collect Data Response Message-specific header MUST be copied into the per-session Collect Data Response Cache field.

  5. The Pended Request MUST be set to Force BSS List Scan (value 0x000D). The initiator MUST send a Force BSS List Scan Message (section 2.2.2.5) to the sink. It MAY<4> also send a Get BSS List Message (section 2.2.2.7) immediately following this to the same sink. The Per-Session Response timer MUST be enabled and set to expire after 5 seconds.

  6. The initiator now waits for a message to arrive in order to continue processing.