3.2.2 Client Details

This section defines the protocol details for the client role in the RPC over HTTP v2 protocol dialects.

An implementation of this protocol on the client MUST conform to the state machines given in this section. The first state machine is the overall client state machine for the virtual connection.

Overall client state machine

Figure 22: Overall client state machine

This overall client state machine defines the relationship of the other state machines given here. Details about when the state machines are started and the state transitions made by these state machines are given later in this section.

The proxy use determination state machine, shown in the following figure, MUST be used when the client is determining whether it will use an HTTP proxy for communicating with the inbound proxy and outbound proxy.

Proxy use determination

Figure 23: Proxy use determination

For more details on proxy use determination, see section 3.2.2.4.1.1.

The virtual connection open state machine, shown in the following figure, MUST be used when the client is trying to establish a virtual connection to the server.

Virtual connection open

Figure 24: Virtual connection open

For more details on establishing a virtual connection, see sections 3.2.1.5.3.1 and 3.2.2.4.1.2.

The virtual IN channel state machine, shown in the following figure, MUST be used when the client is trying to recycle an IN channel. It uses the protocol sequence IN_R1 as specified in section 3.2.1.5.3.2 or IN_R2 as specified in section 3.2.1.5.3.3.

Client virtual IN channel state machine

Figure 25: Client virtual IN channel state machine

For more details on recycling an IN channel, see section 3.2.2.5.12.

The virtual OUT channel state machine, shown in the following figure, MUST be used when the client is trying to recycle an OUT channel. It uses the protocol sequence OUT_R1 as specified in section 3.2.1.5.3.4 or OUT_R2 as specified in section 3.2.1.5.3.5.

Client virtual OUT channel state machine

Figure 26: Client virtual OUT channel state machine

For more details on recycling an OUT channel, see section 3.2.2.5.6.