4.3 Push Distribution with AutoDestroy and Template-URL

The following sequence occurs between a client and a server during a push distribution when the AutoDestroy (section 2.2.2.1.2) directive is specified.

Note Access authentication has been omitted from this example for brevity.

  1. The client sends a PushSetup request, setting the AutoDestroy directive to 1 and setting the Template-URL to a publishing point.

  2. The server responds with a "204 No Content" HTTP response.

  3. The publishing point specified in the PushSetup request is created by the server, using the same settings on the server as the existing publishing point specified in the Template_URL.

  4. The client sends a PushStart request, followed by an $H packet and $D packets.

  5. When the client has sent the amount of data allowed in the PushStart request, the server responds with a "204 No Content" HTTP response. The client then sends a new PushStart request followed by more $D packets.

  6. After all $D packets have been sent to the server, the client sends an $E packet with the Reason field set to 0x00000000 to indicate that the data transfer has been completed. The server then closes the connection on receiving the $E(0x00000000) packet.

  7. The publishing point created in step 3 is removed by the server.

  8. The client closes the TCP connection to the server. This action also ends the streaming session.

The following diagram shows the sequence described in this example. For simplicity, only a single PushStart request is shown.

Push distribution with AutoDestroy

Figure 3: Push distribution with AutoDestroy

In the preceding diagram, the P1 callout identifies where the server obtains the settings to use from the publishing point specified in the Template_URL