The concrete programming api I have in mind lets the programmer set the maximum credit that is handed out at once (let's call it cap
). The implementation would then transparently send out more credit to the peer, using the exponential backoff calculation above, with cmax
set to cap
. The peer can send as much data as it wants, but only cap
bytes are in transit at a given time.