-
Task
-
Resolution: Done
-
Major
-
None
-
None
-
False
-
-
False
-
-
Non-blocking flow control is somewhat of a misnomer: UFC_NB and MFC_NB do block, but just later; instead of blocking immediately, they queue requests and (because the queue is bounded) block on a full queue later.
This might cover a temporary peak, but if producers are faster than consumers, producers will eventually need to block. Even for temporary peaks, it might be better to block producers immediately rather than delaying the blocking.
In addition, with the addition of UNICAST4 and NAKACK4, blocking is done directly in these protocols rather than in the flow control protocols, so having just 1 set (UFC and MFC) should be enough.
Also, UFC_NB and MFC_NB are not present in any of the default configurations, and afaik not heavily used.
I'll therefore remove UFC_NB and MFC_NB.