diff options
author | Melanie | 2010-11-05 14:27:14 +0100 |
---|---|---|
committer | Melanie | 2010-11-05 14:27:14 +0100 |
commit | f985775962ae8da0010cc5ef5f903a53b550f5d2 (patch) | |
tree | 53c9233ad397080143f9e2087fdfb7b79e67e5b5 /OpenSim/Region/ClientStack | |
parent | Merge branch 'master' into careminster-presence-refactor (diff) | |
download | opensim-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')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 42 |
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) |