4.2 Server States

The following diagram illustrates the states in the server role and the transitions between the states:

Server States

Figure 2: Server States

The following describes the preceding diagram:

  • The server enters INIT state when it receives a LinkViewerToMacConnect message from the client, as described in section 3.2.5.3.

  • When the server is in INIT state, it can receive a request for the ASF File Header by means of a LinkViewerToMacReadBlock message, as described in section 3.1.5.8.  The server sends the ASF File Header to the client, and once it has sent the last Data packet with the ASF File Header, the server transitions to READY state.

  • If the server is in READY state and it receives a request to start streaming, it will transition to STREAMING state.  The request can be in the form of a LinkViewerToMacStartPlaying message (section 3.2.5.11) or a LinkViewerToMacStartStriding message (section 3.2.5.12).

  • While in INIT and READY states, there is a possibility that the Idle-Timeout timer could expire.  If that happens the state machine terminates the connection, as described in section 3.2.6.2.

  • If the server is in STREAMING state and it receives a request to stop streaming by means of a LinkViewerToMacStopPlaying message, it will transition to READY state, as described in section 3.2.5.14.

  • If the server is in STREAMING state and the higher layer notifies the client that the last Data packet has been sent and that no additional ASF File Headers will be made available to the client, then the server transitions to READY state, as described in section 3.2.4.1.

  • If the server is in STREAMING state and the higher layer notifies it that a new ASF File Header is available, then the server immediately transitions to READY state, if Data packets are sent over UDP.  If Data packets are sent over TCP, then the server remains in STREAMING state and sends the new ASF File Header to the client, as described in sections 3.2.4.2 and 3.2.5.8.1.

  • While in any state, if the server receives a LinkViewerToMacCloseFile message, the state machine terminates the connection, as described in section 3.2.5.17.

  • While in any state, if the TCP connection is disconnected, the state machine terminates the connection, as described in section 3.2.7.1.   

Show: