From bdf95e54a2da5b60e7817d748f7389289a59bc5e Mon Sep 17 00:00:00 2001 From: Mike Mazur Date: Wed, 25 Feb 2009 00:32:26 +0000 Subject: A few updates necessary for load balancer. - handle GetUser request for nonexistent user gracefully - include throttle levels in ClientInfo - code to save/restore throttles in client stack - only update/send updates to active clients - make animation classes serializable --- .../Region/ClientStack/LindenUDP/LLPacketQueue.cs | 25 +++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs index 1c398d9..6bfa864 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs @@ -69,18 +69,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP // This value also determines how many times per throttletimems the timer will run // If throttleimems is 1000 ms, then the timer will fire every 1000/7 milliseconds + private float throttleMultiplier = 2.0f; // Default value really doesn't matter. private int throttleTimeDivisor = 7; private int throttletimems = 1000; - private LLPacketThrottle ResendThrottle; - private LLPacketThrottle LandThrottle; - private LLPacketThrottle WindThrottle; - private LLPacketThrottle CloudThrottle; - private LLPacketThrottle TaskThrottle; - private LLPacketThrottle AssetThrottle; - private LLPacketThrottle TextureThrottle; - private LLPacketThrottle TotalThrottle; + internal LLPacketThrottle ResendThrottle; + internal LLPacketThrottle LandThrottle; + internal LLPacketThrottle WindThrottle; + internal LLPacketThrottle CloudThrottle; + internal LLPacketThrottle TaskThrottle; + internal LLPacketThrottle AssetThrottle; + internal LLPacketThrottle TextureThrottle; + internal LLPacketThrottle TotalThrottle; // private long LastThrottle; // private long ThrottleInterval; @@ -108,6 +109,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP TextureOutgoingPacketQueue = new Queue(); AssetOutgoingPacketQueue = new Queue(); + // Store the throttle multiplier for posterity. + throttleMultiplier = userSettings.ClientThrottleMultipler; + // Set up the throttle classes (min, max, current) in bits per second ResendThrottle = new LLPacketThrottle(5000, 100000, 16000, userSettings.ClientThrottleMultipler); LandThrottle = new LLPacketThrottle(1000, 100000, 2000, userSettings.ClientThrottleMultipler); @@ -624,5 +628,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP { return SendQueue.GetQueueArray(); } + + public float ThrottleMultiplier + { + get { return throttleMultiplier; } + } } } -- cgit v1.1