aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP
diff options
context:
space:
mode:
authorMelanie2010-11-05 14:27:14 +0100
committerMelanie2010-11-05 14:27:14 +0100
commitf985775962ae8da0010cc5ef5f903a53b550f5d2 (patch)
tree53c9233ad397080143f9e2087fdfb7b79e67e5b5 /OpenSim/Region/ClientStack/LindenUDP
parentMerge branch 'master' into careminster-presence-refactor (diff)
downloadopensim-SC_OLD-f985775962ae8da0010cc5ef5f903a53b550f5d2.zip
opensim-SC_OLD-f985775962ae8da0010cc5ef5f903a53b550f5d2.tar.gz
opensim-SC_OLD-f985775962ae8da0010cc5ef5f903a53b550f5d2.tar.bz2
opensim-SC_OLD-f985775962ae8da0010cc5ef5f903a53b550f5d2.tar.xz
Revert "Fix for hanging on "Connecting to region".. caused by packets being processed before the presence has bound to receive events. Fixed this by adding packets to a queue and then processing them when the presence is ready."
This reverts commit 91b1d17e5bd3ff6ed006744bc529b53a67af1a64. Conflicts: OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs OpenSim/Region/Framework/Scenes/ScenePresence.cs
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs42
1 files changed, 5 insertions, 37 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 4c9011a..7e9a82a 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -342,7 +342,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
342 private AgentUpdateArgs lastarg; 342 private AgentUpdateArgs lastarg;
343 private bool m_IsActive = true; 343 private bool m_IsActive = true;
344 private bool m_IsLoggingOut = false; 344 private bool m_IsLoggingOut = false;
345 private bool m_IsPresenceReady = false;
346 345
347 protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>(); 346 protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>();
348 protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers 347 protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers
@@ -365,7 +364,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
365 364
366 private Timer m_propertiesPacketTimer; 365 private Timer m_propertiesPacketTimer;
367 private List<ObjectPropertiesPacket.ObjectDataBlock> m_propertiesBlocks = new List<ObjectPropertiesPacket.ObjectDataBlock>(); 366 private List<ObjectPropertiesPacket.ObjectDataBlock> m_propertiesBlocks = new List<ObjectPropertiesPacket.ObjectDataBlock>();
368 private List<Packet> m_pendingPackets;
369 367
370 #endregion Class Members 368 #endregion Class Members
371 369
@@ -418,7 +416,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
418 get { return m_IsActive; } 416 get { return m_IsActive; }
419 set { m_IsActive = value; } 417 set { m_IsActive = value; }
420 } 418 }
421
422 public bool IsLoggingOut 419 public bool IsLoggingOut
423 { 420 {
424 get { return m_IsLoggingOut; } 421 get { return m_IsLoggingOut; }
@@ -11355,47 +11352,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11355 } 11352 }
11356 11353
11357 /// <summary> 11354 /// <summary>
11358 /// This processes packets which have accumulated while the presence was still in the process of initialising.
11359 /// </summary>
11360 public void ProcessPendingPackets()
11361 {
11362 m_IsPresenceReady = true;
11363 if (m_pendingPackets == null)
11364 return;
11365 foreach (Packet p in m_pendingPackets)
11366 {
11367 ProcessInPacket(p);
11368 }
11369 m_pendingPackets.Clear();
11370 }
11371
11372 /// <summary>
11373 /// Entryway from the client to the simulator. All UDP packets from the client will end up here 11355 /// Entryway from the client to the simulator. All UDP packets from the client will end up here
11374 /// </summary> 11356 /// </summary>
11375 /// <param name="Pack">OpenMetaverse.packet</param> 11357 /// <param name="Pack">OpenMetaverse.packet</param>
11376 public void ProcessInPacket(Packet packet) 11358 public void ProcessInPacket(Packet packet)
11377 { 11359 {
11378 if (m_debugPacketLevel > 0) 11360 if (m_debugPacketLevel >= 255)
11379 { 11361 m_log.DebugFormat("[CLIENT]: Packet IN {0}", Pack.Type);
11380 bool outputPacket = true;
11381
11382 if (m_debugPacketLevel <= 255 && packet.Type == PacketType.AgentUpdate)
11383 outputPacket = false;
11384
11385 if (m_debugPacketLevel <= 200 && packet.Type == PacketType.RequestImage)
11386 outputPacket = false;
11387
11388 if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.ViewerEffect || packet.Type == PacketType.AgentAnimation))
11389 outputPacket = false;
11390
11391 if (outputPacket)
11392 m_log.DebugFormat("[CLIENT]: Packet IN {0}", packet.Type);
11393 }
11394 11362
11395 if (!ProcessPacketMethod(packet)) 11363 if (!ProcessPacketMethod(Pack))
11396 m_log.Warn("[CLIENT]: unhandled packet " + packet.Type); 11364 m_log.Warn("[CLIENT]: unhandled packet " + Pack.Type);
11397 11365
11398 PacketPool.Instance.ReturnPacket(packet); 11366 PacketPool.Instance.ReturnPacket(Pack);
11399 } 11367 }
11400 11368
11401 private static PrimitiveBaseShape GetShapeFromAddPacket(ObjectAddPacket addPacket) 11369 private static PrimitiveBaseShape GetShapeFromAddPacket(ObjectAddPacket addPacket)