3.1.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.

The data elements required in typical sink implementations are:

  • Diagnostic Session: Each Diagnostic Session stores the qWave-WD related states that are relevant to a specific TCP connection that is accepted from an initiator device and MUST have the following fields:

    • Handshaking: This Boolean field identifies that the initiator is still handshaking with the sink and thus is not prepared to accept certain messages.

    • Pended Request: A request for which a corresponding response is expected. A pended request is uniquely identified by its message type (the Message_Id field) in the Common Message Header (section 2.2.1.2). The value in this field is only valid if the Diagnostic Session's State field is set to Pending.

    • Socket: Identifies the network socket object used to connect to the sink device. Every message received from the network is correlated back to a Diagnostic Session using this object.

    • Connect Response Cache: Caches all the information contained in a Connect Response Message (section 2.2.2.2).

    • Collect Data Response Cache: Caches all the information contained in a Collect Data Response Message (section 2.2.2.4)

    • BSS List Response Cache: Caches all the BssDescs information contained in a Get BSS List Response Message (section 2.2.2.8).

Note The previous conceptual data can be implemented by using a variety of techniques. An implementation is at liberty to implement such data in any way.