From 6614eee4d436644b2709d216a516b3ee6142635f Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Mon, 18 Aug 2008 18:59:06 +0000
Subject: Change LowpriorityTask to be ThrottleType.Task |
 ThrottleType.LowPriority to make the flag nature of this value more clear.

---
 OpenSim/Framework/ThrottleOutPacketType.cs            |  5 ++++-
 OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs  |  6 +++---
 OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs | 10 +++++-----
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/OpenSim/Framework/ThrottleOutPacketType.cs b/OpenSim/Framework/ThrottleOutPacketType.cs
index 27b25d2..b236362 100644
--- a/OpenSim/Framework/ThrottleOutPacketType.cs
+++ b/OpenSim/Framework/ThrottleOutPacketType.cs
@@ -11,6 +11,9 @@ namespace OpenSim.Framework
         Asset = 6,
         Unknown = 7, // Also doubles as 'do not throttle'
         Back = 8,
-        LowpriorityTask = 9
+
+        TypeMask = 15, // The mask to mask off the flags
+
+        LowPriority = 128 // Additional flags
     }
 }
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 3c24fb6..8f0e2d7 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2364,7 +2364,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
             }
             outPacket.Header.Zerocoded = true;
 
-            OutPacket(outPacket, ThrottleOutPacketType.LowpriorityTask);
+            OutPacket(outPacket, ThrottleOutPacketType.Task | ThrottleOutPacketType.LowPriority);
         }
 
         /// <summary>
@@ -2388,7 +2388,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
             terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity, state); // AssetID should fall into here probably somehow...
             terse.Header.Reliable = false;
             terse.Header.Zerocoded = true;
-            OutPacket(terse, ThrottleOutPacketType.LowpriorityTask);
+            OutPacket(terse, ThrottleOutPacketType.Task | ThrottleOutPacketType.LowPriority);
         }
 
         public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
@@ -2404,7 +2404,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
             terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity, 0);
             terse.Header.Reliable = false;
             terse.Header.Zerocoded = true;
-            OutPacket(terse, ThrottleOutPacketType.LowpriorityTask);
+            OutPacket(terse, ThrottleOutPacketType.Task | ThrottleOutPacketType.LowPriority);
         }
 
         public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, LLUUID AssetFullID)
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
index aed9465..2775241 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
@@ -159,7 +159,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
 
             lock (this)
             {
-                switch (item.throttleType)
+                switch (item.throttleType & ThrottleOutPacketType.TypeMask)
                 {
                     case ThrottleOutPacketType.Resend:
                         ThrottleCheck(ref ResendThrottle, ref ResendOutgoingPacketQueue, item);
@@ -168,10 +168,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
                         ThrottleCheck(ref TextureThrottle, ref TextureOutgoingPacketQueue, item);
                         break;
                     case ThrottleOutPacketType.Task:
-                        ThrottleCheck(ref TaskThrottle, ref TaskOutgoingPacketQueue, item);
-                        break;
-                    case ThrottleOutPacketType.LowpriorityTask:
-                        ThrottleCheck(ref TaskThrottle, ref TaskLowpriorityPacketQueue, item);
+                        if((item.throttleType & ThrottleOutPacketType.LowPriority) != 0)
+                            ThrottleCheck(ref TaskThrottle, ref TaskLowpriorityPacketQueue, item);
+                        else
+                            ThrottleCheck(ref TaskThrottle, ref TaskOutgoingPacketQueue, item);
                         break;
                     case ThrottleOutPacketType.Land:
                         ThrottleCheck(ref LandThrottle, ref LandOutgoingPacketQueue, item);
-- 
cgit v1.1