4.6.1 Expanded Streaming State Diagram

The expanded streaming state diagram reflects the valid transactions between received packets. This diagram is a more detailed view of the "streaming state" in the server push state diagram in section 4.6.

Expanded Streaming State Diagram

Figure 7: Expanded Streaming State Diagram

In response to receiving the PushStart request, the server will wait to process subsequent packets. If this is the initial PushStart request, then the server will expect to receive a $H packet. All subsequent PushStart requests received by the server will enter the state diagram at the last known state.

If the server receives a $C, $D, or $H packet, the server will expect to receive either a $D, $E, or $F packet.  Information on processing the $C packets can be found in section 3.2.5.6.  Information on processing the $D packets can be found in section 3.2.5.4.  Information on processing the $F packets can be found in section 3.2.5.7.

If the server receives an $E packet with the Reason field not equal to 0x00000001, the server closes the session as specified in section 3.2.5.5.

If the server receives an $E packet with the Reason field equal to 0x00000001, the server will expect to receive either a $C, $E, or $F packet. Information on processing the $E packets can be found in section 3.2.5.5.

If the server receives an $F packet, the server will expect to receive either a $C, $D, $E, or $F packet. Information on processing the $F packets can be found in section 3.2.5.7.