To allow the congestion sensor to support dynamic buffer allocation, there are a few changes needed.
Normalized mode should allow values greater than 1.0. Remove clamping.
BufferOccupancy needs to use signed integers because the credit count may go negative.
A couple other bugs/fixes desired are:
Make CongestionSensor::initCredits only callable once.
InputQueued shouldn't allow output normalized
OutputQueued comment about output queue should change: s/is infinite/may be infinite/
InputOutputQueued no plus 1, make incr/decr at the same point.
To allow the congestion sensor to support dynamic buffer allocation, there are a few changes needed.
A couple other bugs/fixes desired are: Make CongestionSensor::initCredits only callable once. InputQueued shouldn't allow output normalized OutputQueued comment about output queue should change: s/is infinite/may be infinite/ InputOutputQueued no plus 1, make incr/decr at the same point.