3.2.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 what is described in this document.

Client-ID: The value of this variable is an identifier assigned by the server for the current streaming session. The initial value is undefined.

Client-Port: The value of this variable is the UDP port number to which the client wants Data packets to be sent. The default value is 0x0000.

Client-Version: This variable stores the client product name as well as the major and minor version number that the client specified in the subscriberName field in the LinkViewerToMacConnect message.

File-ID: The value of this variable is an identifier assigned by the server for the current playlist. Even if the playlist consists of multiple files, the value of the File-ID variable is the same. The initial value of this field is undefined.

Incarnation: This variable stores a number that is used when assigning a value to the playIncarnation field of Data packets. The initial value of this variable is undefined.

Sequence: This variable is a 32-bit unsigned integer and stores the sequence number of the next Data packet that contains an ASF data packet that the server sends. The initial value of this variable is 0x00000000.

State: This variable stores the state of the streaming session. Possible values are INIT, READY, and STREAMING. Unless specified otherwise, the state variable for a particular message will remain in the current state.

UDP-Packet-Pair: This is a Boolean variable that is set to True if the server intends to send packet-pair packets over UDP. The default value is False.

Note The above conceptual data can be implemented using a variety of techniques.