remove HandleCompleteMovementIntoRegion delay hack from llUDPserver. If we
need a delay, we need to do it at end of HandleUseCircuitCode before feeding pending packets (including that one) into processing queue.avinationmerge
							parent
							
								
									0760fa3106
								
							
						
					
					
						commit
						cf48b814eb
					
				|  | @ -5845,7 +5845,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                 m_thisAgentUpdateArgs.Far = x.Far; | ||||
|                 m_thisAgentUpdateArgs.Flags = x.Flags; | ||||
|                 m_thisAgentUpdateArgs.HeadRotation = x.HeadRotation; | ||||
|                 m_thisAgentUpdateArgs.SessionID = x.SessionID; | ||||
| //                m_thisAgentUpdateArgs.SessionID = x.SessionID; | ||||
|                 m_thisAgentUpdateArgs.State = x.State; | ||||
| 
 | ||||
|                 UpdateAgent handlerAgentUpdate = OnAgentUpdate; | ||||
|  | @ -6762,8 +6762,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|             return true; | ||||
|         } | ||||
| 
 | ||||
|         private bool HandleCompleteAgentMovement(IClientAPI sender, Packet Pack) | ||||
|       private bool HandleCompleteAgentMovement(IClientAPI sender, Packet Pack) | ||||
|         { | ||||
|             m_log.DebugFormat("[LLClientView] HandleCompleteAgentMovement"); | ||||
| 
 | ||||
|             Action<IClientAPI, bool> handlerCompleteMovementToRegion = OnCompleteMovementToRegion; | ||||
|             if (handlerCompleteMovementToRegion != null) | ||||
|             { | ||||
|  |  | |||
|  | @ -1422,6 +1422,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                     return; | ||||
|                 } | ||||
| 
 | ||||
| /* | ||||
|                 else if (packet.Type == PacketType.CompleteAgentMovement) | ||||
|                 { | ||||
|                     // Send ack straight away to let the viewer know that we got it. | ||||
|  | @ -1435,6 +1436,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
| 
 | ||||
|                     return; | ||||
|                 } | ||||
|  */ | ||||
|             } | ||||
| 
 | ||||
|             // Determine which agent this packet came from | ||||
|  | @ -1718,7 +1720,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
| 
 | ||||
|             try | ||||
|             { | ||||
|     //            DateTime startTime = DateTime.Now; | ||||
| //              DateTime startTime = DateTime.Now; | ||||
|                 object[] array = (object[])o; | ||||
|                 endPoint = (IPEndPoint)array[0]; | ||||
|                 UseCircuitCodePacket uccp = (UseCircuitCodePacket)array[1]; | ||||
|  | @ -1740,7 +1742,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                             sessionInfo); | ||||
| 
 | ||||
|                     // Now we know we can handle more data | ||||
| //                    Thread.Sleep(200); | ||||
|                     Thread.Sleep(200); | ||||
| 
 | ||||
|                     // Obtain the pending queue and remove it from the cache | ||||
|                     Queue<UDPPacketBuffer> queue = null; | ||||
|  | @ -1751,6 +1753,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                         { | ||||
|                             m_log.DebugFormat("[LLUDPSERVER]: Client created but no pending queue present"); | ||||
|                             return; | ||||
| 
 | ||||
|                         } | ||||
|                         m_pendingCache.Remove(endPoint); | ||||
|                     } | ||||
|  | @ -1758,11 +1761,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                     m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count); | ||||
| 
 | ||||
|                     // Reinject queued packets | ||||
|                     while(queue.Count > 0) | ||||
|                     while (queue.Count > 0) | ||||
|                     { | ||||
|                         UDPPacketBuffer buf = queue.Dequeue(); | ||||
|                         PacketReceived(buf); | ||||
|                     } | ||||
| 
 | ||||
|                     queue = null; | ||||
| 
 | ||||
|                     // Send ack straight away to let the viewer know that the connection is active. | ||||
|  | @ -1789,7 +1793,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                     lock (m_pendingCache) | ||||
|                         m_pendingCache.Remove(endPoint); | ||||
|                 }     | ||||
|      | ||||
|                 //            m_log.DebugFormat( | ||||
|     //                "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms",  | ||||
|     //                buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds); | ||||
|  | @ -1806,8 +1809,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                     e.StackTrace); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private void HandleCompleteMovementIntoRegion(object o) | ||||
| /* | ||||
|          private void HandleCompleteMovementIntoRegion(object o) | ||||
|         { | ||||
|             IPEndPoint endPoint = null; | ||||
|             IClientAPI client = null; | ||||
|  | @ -1916,6 +1919,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                     e.StackTrace); | ||||
|             } | ||||
|         } | ||||
| */ | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Send an ack immediately to the given endpoint. | ||||
|  | @ -2053,7 +2057,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                             m_incomingPacketPool.ReturnObject(incomingPacket); | ||||
|                     } | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 catch(Exception ex) | ||||
|                 { | ||||
|                     m_log.Error("[LLUDPSERVER]: Error in the incoming packet handler loop: " + ex.Message, ex); | ||||
|                 } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 UbitUmarov
						UbitUmarov