On 6/13/13 12:54 PM, Alan M. Carroll wrote:
er_mark <= 0)
+ params->oride.flow_low_water_mark = params->oride.flow_high_water_mark;
+ if (params->oride.flow_high_water_mark <= 0)
+ params->oride.flow_high_water_mark = params->oride.flow_low_water_mark;
This seems a little odd. The default is "0", right? Which means, you first
assign high and low to 0 from the m_master, and then you do it again but
copying from the opposite oride config.
No, it's to make the two values the same if only one is set. The logic to check
that before copying over is more complex than to copy first, and clean up if
one of them is still the default.
why not put all those tests and assignments (there were more after the
snippet I pasted) inside an if clause that tests if the feature is
enabled? If disabled, the values don't matter no? Alternatively, should
the feature be enabled / disabled based on either of the water marks be
> 0 instead? Just a thought.
I would note, though, that this doesn't do any rate based shaping, it tracks
only the amount of data in the transaction inside ATS. So there is no way to
throttle the throughput to less than the external client is consuming.
Ah, ok. Any thoughts on allowing for such throttling?
-- Leif