3.2.5.2 Receiving a Connect Message

  1. When a Connect Message (section 2.2.2.1) arrives through a per-session Socket, the sink checks if the Common Message Header (section 2.2.1.2) is valid. If not, the sink MUST destroy the corresponding Diagnostic Session and ignore the message.

  2. The sink checks the per-session Handshaking field. If it is set, the sink MUST destroy the corresponding Diagnostic Session and ignore the message.

  3. If a Network Interface Object already exists for the network interface on which the message is received, then this step is skipped. Otherwise, one MUST be instantiated. If an object cannot be created, the sink MUST destroy the corresponding Diagnostic Session and ignore the message. The per-network interface object Wireless Connected field is set if the network interface is a wireless network interface. Otherwise, it is cleared.  Sample Index MUST be set to zero.  BSS List Updated MUST be cleared.

  4. The sink MUST then reply to the initiator with a Connect Response Message (section 2.2.2.2). The Diag_Support_Level field in the Connect Response Message-specific header MUST be populated with the value of the Support Level. If the per-network interface object Wireless Connected field is set, the W bit MUST be set in the Connect Response Message-specific header and the sink queries its wireless network interface and populates the remaining BSSID, SSID_Length, SSID, BSS_Type, Phy_Type, and Channel fields appropriately. Otherwise, if the per-network interface object Wireless Connected field is not set, these fields are set to zero.

  5. If the per-network interface object Wireless Connected field is set, it MUST start the Per-Network Interface Object Wireless Statistics Monitor recurring timer and set it to expire every 250 milliseconds, if it has not already been started.

  6. The sink then waits for the next message to arrive in order to continue processing.