2.1.1.1.3 Inbound PDU Stream

Inbound PDUs from the PDU stream MUST be encoded as BLOBs in the message body of the RPC connect request. The first inbound PDU MUST start from the beginning of the message body of the RPC connect request, and each subsequent PDU from the PDU stream MUST be placed as a BLOB immediately after the previous PDU in the RPC connect request without any delimiters. The following diagram defines the layout of the PDUs in the message body of the RPC connect request.

Inbound connect request PDU stream

Figure 8: Inbound connect request PDU stream

Each PDU encoded as a BLOB contains its length inside the PDU as specified in [C706] section 12, RPC PDU Encodings, and thus no delimiters are necessary between the BLOBs. For RPC over HTTP v1, the implementation of the underlying HTTP transport MUST be capable of the following:

  • Duplex communication.

  • Sending a potentially unbounded number of PDUs in the message body of the RPC connect request while at the same time receiving a potentially unbounded number of PDUs in the message body of the RPC connect response. This protocol specifically allows for sending and receiving a potentially unbounded number of PDUs in the message body of the RPC connect request.

The PDUs are sent in the message body as they are generated for unplugged channel mode. In this mode, PDU N MUST be sent as soon as it is generated and will not wait for PDU N+1 to be generated.