3.2.5.5 Receiving a Pipeline Request

The server MUST first follow the steps specified in section 3.2.5.1.

If the value of the Pipeline-Test-Started variable in the Abstract Data Model is 0, the Pipeline-Test timer MUST be started. The recommended value for the time-out of this timer is 1 second.

The Pipeline response MUST follow the rules as specified in section 3.2.5.2 and 2.2.2.5.

If the value of the Pipeline-Test-Started variable is 0, the response MUST use Chunked Transfer Coding and the message body of the response MUST contain a $T (Test Data Notification) packet (section 2.2.3.8). The response MUST NOT specify a zero-length chunk.

If the value of the Pipeline-Test-Started variable is 1, the Pipeline response MUST specify the pipeline-result (section 2.2.1.4.17) token on a Pragma header, and the value of the token MUST be set to the value of the Pipeline-Test-Timer-Running variable.

If the value of the Pipeline-Test-Started variable is 1, and the value of the Pipeline-Test-Timer-Running variable is 1, then the Pipeline-Test timer MUST be stopped. Also, in this case, the server MUST send the zero-length chunk, which will terminate the response to the first Pipeline request.

If the value of the Pipeline-Test-Started variable is 0, then the value MUST be set to 1 and if the value is 1 it MUST be set to 0.

The server MUST set the value of the Pipeline-Test-Timer-Running variable to the value of the Pipeline-Test-Started variable.

Details about Chunked Transfer Coding are as specified in [RFC2616] section 3.6.1.

For more information about the Pipeline request, see section 2.2.2.5.