3.1.5.2 Receiving a Packet

This section specifies common steps that MUST be performed whenever the client receives a packet on the TCP connection.

To distinguish TcpMessageHeader (section 2.2.3) packets from Data (section 2.2.2) packets, the client SHOULD initially treat the packet as a TcpMessageHeader (section 2.2.3) packet and inspect the sessionId field. If the value is 2953575118, the client MUST treat the packet as a TcpMessageHeader (section 2.2.3) packet and MUST verify that the fields of the TcpMessageHeader (section 2.2.3) packet adhere to the syntax specified in section 2.2.3. If the packet does not adhere to the syntax, the client SHOULD treat this as an error.

If the value of the sessionId field is not 2953575118, the client MUST treat the packet as a Data (section 2.2.2) packet and MUST verify that the fields of the Data (section 2.2.2) packet adhere to the syntax specified in section 2.2.2. If the packet does not adhere to the syntax, the client SHOULD treat this as an error.