diff options
author | Mic Bowman | 2011-04-25 10:44:41 -0700 |
---|---|---|
committer | Mic Bowman | 2011-04-25 10:44:41 -0700 |
commit | 024c12abc3aa42432e55e322141cad1edeb5bad1 (patch) | |
tree | 3666d30003824cd34bb002375b2d5b31bcb7addd /OpenSim/Region/ClientStack/LindenUDP/TokenBucket.cs | |
parent | Merge branch 'master' into queuetest (diff) | |
download | opensim-SC_OLD-024c12abc3aa42432e55e322141cad1edeb5bad1.zip opensim-SC_OLD-024c12abc3aa42432e55e322141cad1edeb5bad1.tar.gz opensim-SC_OLD-024c12abc3aa42432e55e322141cad1edeb5bad1.tar.bz2 opensim-SC_OLD-024c12abc3aa42432e55e322141cad1edeb5bad1.tar.xz |
Cleaned up various configuration options. Removed the category throttle
limits because the only ones used now are the defaults (which are overwritten
by the client throttles anyway). Updated the default rates to correspond to
about 350kbps.
Also added a configuration to disable adaptive throttle. The default
is the previous behavior (no adaptation).
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/TokenBucket.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/TokenBucket.cs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/TokenBucket.cs b/OpenSim/Region/ClientStack/LindenUDP/TokenBucket.cs index 677d3d1..2ec79ab 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/TokenBucket.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/TokenBucket.cs | |||
@@ -340,6 +340,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
340 | set { m_maxDripRate = (value == 0 ? 0 : Math.Max(value,m_minimumFlow)); } | 340 | set { m_maxDripRate = (value == 0 ? 0 : Math.Max(value,m_minimumFlow)); } |
341 | } | 341 | } |
342 | 342 | ||
343 | private bool m_enabled = false; | ||
344 | |||
343 | // <summary> | 345 | // <summary> |
344 | // | 346 | // |
345 | // </summary> | 347 | // </summary> |
@@ -357,9 +359,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
357 | // <summary> | 359 | // <summary> |
358 | // | 360 | // |
359 | // </summary> | 361 | // </summary> |
360 | public AdaptiveTokenBucket(TokenBucket parent, Int64 maxDripRate) : base(parent,m_minimumFlow) | 362 | public AdaptiveTokenBucket(TokenBucket parent, Int64 maxDripRate, bool enabled) : base(parent,maxDripRate) |
361 | { | 363 | { |
362 | MaxDripRate = maxDripRate; | 364 | m_enabled = enabled; |
365 | |||
366 | if (m_enabled) | ||
367 | { | ||
368 | m_log.WarnFormat("[TOKENBUCKET] Adaptive throttle enabled"); | ||
369 | MaxDripRate = maxDripRate; | ||
370 | AdjustedDripRate = m_minimumFlow; | ||
371 | } | ||
363 | } | 372 | } |
364 | 373 | ||
365 | // <summary> | 374 | // <summary> |
@@ -368,7 +377,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
368 | public void ExpirePackets(Int32 count) | 377 | public void ExpirePackets(Int32 count) |
369 | { | 378 | { |
370 | // m_log.WarnFormat("[ADAPTIVEBUCKET] drop {0} by {1} expired packets",AdjustedDripRate,count); | 379 | // m_log.WarnFormat("[ADAPTIVEBUCKET] drop {0} by {1} expired packets",AdjustedDripRate,count); |
371 | AdjustedDripRate = (Int64) (AdjustedDripRate / Math.Pow(2,count)); | 380 | if (m_enabled) |
381 | AdjustedDripRate = (Int64) (AdjustedDripRate / Math.Pow(2,count)); | ||
372 | } | 382 | } |
373 | 383 | ||
374 | // <summary> | 384 | // <summary> |
@@ -376,7 +386,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
376 | // </summary> | 386 | // </summary> |
377 | public void AcknowledgePackets(Int32 count) | 387 | public void AcknowledgePackets(Int32 count) |
378 | { | 388 | { |
379 | AdjustedDripRate = AdjustedDripRate + count; | 389 | if (m_enabled) |
390 | AdjustedDripRate = AdjustedDripRate + count; | ||
380 | } | 391 | } |
381 | } | 392 | } |
382 | } | 393 | } |