3.1.5 Message Processing Events and Sequencing Rules

The message type is identified by using the MessageId value stored in the message header, as specified in section 2.2.1.1. A message is processed only when it has been fully received as indicated by the value of the Length field specified within the message header. When the client is in the FATAL_ERROR or WAITING_FOR_DISCONNECT state, the client MUST ignore any messages received. When the client receives a message in any other state, the ClientGuardTimer (section 3.1.2) MUST be started or restarted.