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.

Participants in the Desktop Chat Protocol SHOULD maintain the following state.

Session: An application using the Desktop Chat Protocol has a certain state associated with the chat.

Session.Unicode: Initialized to false. If true, the participant MUST NOT send CHATDATA_PASTEA or CHATDATA_FONTA messages and MUST pass Unicode information in the char field of CHATDATA_CHAR messages. If false, the participant MUST NOT send CHATDATA_PASTEW or CHATDATA_FONTW messages and MUST pass ANSI or DBCS information in the char field of CHATDATA_CHAR messages.

In addition to the above state, the server participant in the Desktop Chat protocol MUST maintain the following state.

Session.ClientName: The NetBIOS name of the client.