3.2.5.6 Tracking Read State Changes

To conserve the bandwidth between clients and servers, the read state of the messages SHOULD be tracked separately from other changes.

Whenever the read state of a message changes on the server, a separate change number (the read state change number) on the message SHOULD be assigned a new value on the server. The change number of the message SHOULD NOT be modified unless other changes to a message were made at the same time. This allows the read state change to be efficiently downloaded to a client as an Message ID structure ([MS-OXCDATA] section 2.2.1.2) in the MetaTagIdsetRead property (section 2.2.1.3.4) IDSET structure or the MetaTagIdsetUnread property (section 2.2.1.3.5), compressed together with read state changes to other messages in the synchronization scope. An individual read state change number is never sent across the wire independently. An IDSET structure of change numbers associated with message read state transitions, either from read to unread, or unread to read (as determined by the PidTagMessageFlags property in [MS-OXCMSG] section 2.2.1.6) are included in the MetaTagCnsetRead property (section 2.2.1.1.4), which is part of the ICS state and is never directly set on any objects.