aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs25
1 files changed, 23 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 10e8e48..a662092 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -701,10 +701,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
701 // UseCircuitCode handling 701 // UseCircuitCode handling
702 if (packet.Type == PacketType.UseCircuitCode) 702 if (packet.Type == PacketType.UseCircuitCode)
703 { 703 {
704 object[] array = new object[] { buffer, packet };
705
706 lock (m_pendingCache) 704 lock (m_pendingCache)
705 {
706 if (m_pendingCache.Contains(address))
707 return;
708
707 m_pendingCache.AddOrUpdate(address, new Queue<UDPPacketBuffer>(), 60); 709 m_pendingCache.AddOrUpdate(address, new Queue<UDPPacketBuffer>(), 60);
710 }
711
712 object[] array = new object[] { buffer, packet };
713
708 Util.FireAndForget(HandleUseCircuitCode, array); 714 Util.FireAndForget(HandleUseCircuitCode, array);
709 715
710 return; 716 return;
@@ -721,11 +727,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP
721 { 727 {
722 Queue<UDPPacketBuffer> queue; 728 Queue<UDPPacketBuffer> queue;
723 if (m_pendingCache.TryGetValue(address, out queue)) 729 if (m_pendingCache.TryGetValue(address, out queue))
730 {
731 m_log.DebugFormat("[LLUDPSERVER]: Enqueued a {0} packet into the pending queue", packet.Type);
724 queue.Enqueue(buffer); 732 queue.Enqueue(buffer);
733 }
734 else
735 {
736 m_log.Debug("[LLUDPSERVER]: Received a " + packet.Type + " packet from an unrecognized source: " + address + " in " + m_scene.RegionInfo.RegionName);
737 }
725 } 738 }
726 739
740<<<<<<< HEAD
727// m_log.Debug("[LLUDPSERVER]: Received a " + packet.Type + " packet from an unrecognized source: " + address + " in " + m_scene.RegionInfo.RegionName); 741// m_log.Debug("[LLUDPSERVER]: Received a " + packet.Type + " packet from an unrecognized source: " + address + " in " + m_scene.RegionInfo.RegionName);
728>>>>>>> 2606484e45138adef289386509b1e27552a32aee 742>>>>>>> 2606484e45138adef289386509b1e27552a32aee
743=======
744>>>>>>> 0baa1b557af20af3590737dc04294a9bdc8e8728
729 return; 745 return;
730 } 746 }
731 747
@@ -968,10 +984,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
968 lock (m_pendingCache) 984 lock (m_pendingCache)
969 { 985 {
970 if (!m_pendingCache.TryGetValue(remoteEndPoint, out queue)) 986 if (!m_pendingCache.TryGetValue(remoteEndPoint, out queue))
987 {
988 m_log.DebugFormat("[LLUDPSERVER]: Client created but no pending queue present");
971 return; 989 return;
990 }
972 m_pendingCache.Remove(remoteEndPoint); 991 m_pendingCache.Remove(remoteEndPoint);
973 } 992 }
974 993
994 m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count);
995
975 // Reinject queued packets 996 // Reinject queued packets
976 while(queue.Count > 0) 997 while(queue.Count > 0)
977 { 998 {