Begin tracking a pending outbound request id. Call before sending the
request frame so a fast reply cannot race ahead of the registration. If the
channel has already closed (failPending ran), the waiter is created already
resolved with the channel-closed error, so a subsequent await fails fast
instead of blocking until its timeout.
Begin tracking a pending outbound request id. Call before sending the request frame so a fast reply cannot race ahead of the registration. If the channel has already closed (failPending ran), the waiter is created already resolved with the channel-closed error, so a subsequent await fails fast instead of blocking until its timeout.