3.2.1.4.1.1 Consuming RPC PDUs

Per the abstract data model defined in section 3.2.1.1.5.1, the ReceiveWindow can be modeled as a queue. On the client and server, the act of releasing an RPC PDU from the ReceiveWindow by a higher layer is called consuming this RPC PDU. On the inbound and outbound proxies, the act of forwarding an RPC PDU from the ReceiveWindow to the next hop is also called consuming this RPC PDU. This section defines common processing for consuming an RPC PDU.

When the recipient consumes an RPC PDU from the ReceiveWindow, it recalculates the Receiver AvailableWindow defined in section 3.2.1.1.5.1.2. If the Receiver AvailableWindow is determined to be greater than an implementation-specific threshold (as defined later in this section), the recipient will send to the sender a FlowControlAck RTS PDU as specified in section 2.2.4.50, indicating in the command the value of the protocol variable BytesReceived on the channel instance, the Receiver AvailableWindow during the time the FlowControlAck RTS PDUs was sent, and the channel cookie specified for this channel in section 3.2.1.1.1. The receiver SHOULD choose a threshold value that keeps the number of FlowControlAck RTS PDUs small, while avoiding the sender queuing packets on high-latency links.

The AvailableWindowAdvertised variable is updated to the Receiver AvailableWindow that was set in the last FlowControlAck RTS PDU.<27>