-
Task
-
Resolution: Done
-
Major
-
None
-
None
SFC sends credits when it has seen max_credits. This means the sender will always block before receiving credits. In HEAD, the credit replenishments are sent OOB, so the idea is the blocking period should be short. However, Branch_2_4 does not have OOB messages, so blocking periods could be significant, particularly if the receiver is also sending a lot of messages.
Solution to this is to send credits when a configurable number of messages have been seen, with the configurable number being < max_credits. Any credit replenishment message should include the number of bytes seen; sender only gives himself that many credits. This maintains SFC's guarantee of not granting more credit than what has been seen.
This may be appropriate in HEAD as well, as even an OOB message could take a while to travel.