4.6 Server Push State Diagram

The push state diagram reflects the server's states during the push distribution sequence specified in section 4.1.

Server push state diagram

Figure 6: Server push state diagram

All requests illustrated in the diagram are sent by the client to the server in the context of an HTTP request message using the POST method. All server responses are in the context of an HTTP response message.

In response to a PushSetup request the server evaluates the request and accepts or denies the request as specified in section

If the Idle-Timeout timer expires, the server closes the TCP connection as specified in section

If accepted, the server responds with a response of request succeeded, and waits to receive a PushStart request.

If the Inactivity Timeout timer expires, the server shall close the TCP connection as specified in section

After receiving the PushStart request, the server responds with an error or it loads the state that has a Push-ID variable with the same value as the value of the push-id (section If there are no errors, the server begins to process the received packets.

If the PushStart request is done, or the TCP connection is closed, the server will go back to waiting for a PushStart request.

If, while processing the packets, the Idle-Timeout timer expires or the server receives an $E packet with the Reason field not equal to 0x00000001, then the server closes the session as specified in section $E packet processing is specified in section