3.1.1.3.2 Pipeline State

Each pipeline has an associated state. Section 2.2.3.5 specifies available states and describes the data type used to encode the state in PSRP messages.

For details about how pipeline state transition happens on the client side, see the steps involved in executing a pipeline specified in section 3.1.4.3.

A client can stop an executing pipeline at any time by sending a wxf:Signal message (section 3.1.4.4). Before sending this message, the client changes the pipeline state to Stopping. If there is a successful response to the wxf:Signal message (section 3.2.5.3.10), the client changes the pipeline state to Stopped; otherwise, the client changes the state to Failed.

If a server sends a State Information message (section 3.1.5.4.21) with a Failed state, then the client MUST process this message and change the pipeline state to Failed accordingly.

When the pipeline state is changed to Completed, Stopped, or Failed, the client removes the pipeline from the corresponding RunspacePool's pipeline table (section 3.1.1.2.6) and the global pipeline table (section 3.1.1.1.2).

When the pipeline state is changed to Completed, Stopped, or Failed, the client MUST NOT send any more messages to the server targeted to that particular pipeline.

Client pipeline states and transitions

Figure 3: Client pipeline states and transitions