aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
authorJohn Hurliman2009-10-21 18:03:41 -0700
committerJohn Hurliman2009-10-21 18:03:41 -0700
commit6492640e72776d9f0a015e6a719c8cef28ccb7e3 (patch)
treeaf67792558e46e5b5abce59032223b8bae388859 /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
parent* Clarified what FireQueueEmpty is doing with a MIN_CALLBACK_MS constant and ... (diff)
downloadopensim-SC_OLD-6492640e72776d9f0a015e6a719c8cef28ccb7e3.zip
opensim-SC_OLD-6492640e72776d9f0a015e6a719c8cef28ccb7e3.tar.gz
opensim-SC_OLD-6492640e72776d9f0a015e6a719c8cef28ccb7e3.tar.bz2
opensim-SC_OLD-6492640e72776d9f0a015e6a719c8cef28ccb7e3.tar.xz
* Change the OnQueueEmpty signature to send the flags of the queues that are empty instead of firing once per empty queue
* Change the OnQueueEmpty firing to use a minimum time until next fire instead of a sleep * Set OutgoingPacket.TickCount = 0 earlier to avoid extra resends when things are running slowly (inside a profiler, for example)
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs50
1 files changed, 26 insertions, 24 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 0bb7a71..432fee7 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -3550,33 +3550,35 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3550 OutPacket(attach, ThrottleOutPacketType.Task); 3550 OutPacket(attach, ThrottleOutPacketType.Task);
3551 } 3551 }
3552 3552
3553 void HandleQueueEmpty(ThrottleOutPacketType queue) 3553 void HandleQueueEmpty(ThrottleOutPacketTypeFlags categories)
3554 { 3554 {
3555 switch (queue) 3555 if ((categories & ThrottleOutPacketTypeFlags.Task) != 0)
3556 { 3556 {
3557 case ThrottleOutPacketType.Texture: 3557 lock (m_avatarTerseUpdates.SyncRoot)
3558 ProcessTextureRequests(); 3558 {
3559 break; 3559 if (m_avatarTerseUpdates.Count > 0)
3560 case ThrottleOutPacketType.Task: 3560 ProcessAvatarTerseUpdates();
3561 lock (m_avatarTerseUpdates.SyncRoot) 3561 }
3562 { 3562 }
3563 if (m_avatarTerseUpdates.Count > 0)
3564 ProcessAvatarTerseUpdates();
3565 }
3566 break;
3567 case ThrottleOutPacketType.State:
3568 lock (m_primFullUpdates.SyncRoot)
3569 {
3570 if (m_primFullUpdates.Count > 0)
3571 ProcessPrimFullUpdates();
3572 }
3573 3563
3574 lock (m_primTerseUpdates.SyncRoot) 3564 if ((categories & ThrottleOutPacketTypeFlags.State) != 0)
3575 { 3565 {
3576 if (m_primTerseUpdates.Count > 0) 3566 lock (m_primFullUpdates.SyncRoot)
3577 ProcessPrimTerseUpdates(); 3567 {
3578 } 3568 if (m_primFullUpdates.Count > 0)
3579 break; 3569 ProcessPrimFullUpdates();
3570 }
3571
3572 lock (m_primTerseUpdates.SyncRoot)
3573 {
3574 if (m_primTerseUpdates.Count > 0)
3575 ProcessPrimTerseUpdates();
3576 }
3577 }
3578
3579 if ((categories & ThrottleOutPacketTypeFlags.Texture) != 0)
3580 {
3581 ProcessTextureRequests();
3580 } 3582 }
3581 } 3583 }
3582 3584