diff options
author | UbitUmarov | 2014-08-13 01:42:16 +0100 |
---|---|---|
committer | UbitUmarov | 2014-08-13 01:42:16 +0100 |
commit | cf48b814ebbc28761571c1b219376da445f844c9 (patch) | |
tree | 171d9538e0039ec773d3a3be25e3ea78cfc4856f /OpenSim | |
parent | process AgentUpdates in order with rest of packets. Only give higher priority... (diff) | |
download | opensim-SC_OLD-cf48b814ebbc28761571c1b219376da445f844c9.zip opensim-SC_OLD-cf48b814ebbc28761571c1b219376da445f844c9.tar.gz opensim-SC_OLD-cf48b814ebbc28761571c1b219376da445f844c9.tar.bz2 opensim-SC_OLD-cf48b814ebbc28761571c1b219376da445f844c9.tar.xz |
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.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 22 |
2 files changed, 17 insertions, 11 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 9462bdc..73d7a6c 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -5845,7 +5845,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5845 | m_thisAgentUpdateArgs.Far = x.Far; | 5845 | m_thisAgentUpdateArgs.Far = x.Far; |
5846 | m_thisAgentUpdateArgs.Flags = x.Flags; | 5846 | m_thisAgentUpdateArgs.Flags = x.Flags; |
5847 | m_thisAgentUpdateArgs.HeadRotation = x.HeadRotation; | 5847 | m_thisAgentUpdateArgs.HeadRotation = x.HeadRotation; |
5848 | m_thisAgentUpdateArgs.SessionID = x.SessionID; | 5848 | // m_thisAgentUpdateArgs.SessionID = x.SessionID; |
5849 | m_thisAgentUpdateArgs.State = x.State; | 5849 | m_thisAgentUpdateArgs.State = x.State; |
5850 | 5850 | ||
5851 | UpdateAgent handlerAgentUpdate = OnAgentUpdate; | 5851 | UpdateAgent handlerAgentUpdate = OnAgentUpdate; |
@@ -6762,8 +6762,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6762 | return true; | 6762 | return true; |
6763 | } | 6763 | } |
6764 | 6764 | ||
6765 | private bool HandleCompleteAgentMovement(IClientAPI sender, Packet Pack) | 6765 | private bool HandleCompleteAgentMovement(IClientAPI sender, Packet Pack) |
6766 | { | 6766 | { |
6767 | m_log.DebugFormat("[LLClientView] HandleCompleteAgentMovement"); | ||
6768 | |||
6767 | Action<IClientAPI, bool> handlerCompleteMovementToRegion = OnCompleteMovementToRegion; | 6769 | Action<IClientAPI, bool> handlerCompleteMovementToRegion = OnCompleteMovementToRegion; |
6768 | if (handlerCompleteMovementToRegion != null) | 6770 | if (handlerCompleteMovementToRegion != null) |
6769 | { | 6771 | { |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 2e9ac4c..fe79f87 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1422,6 +1422,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1422 | return; | 1422 | return; |
1423 | } | 1423 | } |
1424 | 1424 | ||
1425 | /* | ||
1425 | else if (packet.Type == PacketType.CompleteAgentMovement) | 1426 | else if (packet.Type == PacketType.CompleteAgentMovement) |
1426 | { | 1427 | { |
1427 | // Send ack straight away to let the viewer know that we got it. | 1428 | // Send ack straight away to let the viewer know that we got it. |
@@ -1435,6 +1436,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1435 | 1436 | ||
1436 | return; | 1437 | return; |
1437 | } | 1438 | } |
1439 | */ | ||
1438 | } | 1440 | } |
1439 | 1441 | ||
1440 | // Determine which agent this packet came from | 1442 | // Determine which agent this packet came from |
@@ -1718,7 +1720,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1718 | 1720 | ||
1719 | try | 1721 | try |
1720 | { | 1722 | { |
1721 | // DateTime startTime = DateTime.Now; | 1723 | // DateTime startTime = DateTime.Now; |
1722 | object[] array = (object[])o; | 1724 | object[] array = (object[])o; |
1723 | endPoint = (IPEndPoint)array[0]; | 1725 | endPoint = (IPEndPoint)array[0]; |
1724 | UseCircuitCodePacket uccp = (UseCircuitCodePacket)array[1]; | 1726 | UseCircuitCodePacket uccp = (UseCircuitCodePacket)array[1]; |
@@ -1738,9 +1740,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1738 | uccp.CircuitCode.SessionID, | 1740 | uccp.CircuitCode.SessionID, |
1739 | endPoint, | 1741 | endPoint, |
1740 | sessionInfo); | 1742 | sessionInfo); |
1741 | 1743 | ||
1742 | // Now we know we can handle more data | 1744 | // Now we know we can handle more data |
1743 | // Thread.Sleep(200); | 1745 | Thread.Sleep(200); |
1744 | 1746 | ||
1745 | // Obtain the pending queue and remove it from the cache | 1747 | // Obtain the pending queue and remove it from the cache |
1746 | Queue<UDPPacketBuffer> queue = null; | 1748 | Queue<UDPPacketBuffer> queue = null; |
@@ -1751,6 +1753,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1751 | { | 1753 | { |
1752 | m_log.DebugFormat("[LLUDPSERVER]: Client created but no pending queue present"); | 1754 | m_log.DebugFormat("[LLUDPSERVER]: Client created but no pending queue present"); |
1753 | return; | 1755 | return; |
1756 | |||
1754 | } | 1757 | } |
1755 | m_pendingCache.Remove(endPoint); | 1758 | m_pendingCache.Remove(endPoint); |
1756 | } | 1759 | } |
@@ -1758,11 +1761,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1758 | m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count); | 1761 | m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count); |
1759 | 1762 | ||
1760 | // Reinject queued packets | 1763 | // Reinject queued packets |
1761 | while(queue.Count > 0) | 1764 | while (queue.Count > 0) |
1762 | { | 1765 | { |
1763 | UDPPacketBuffer buf = queue.Dequeue(); | 1766 | UDPPacketBuffer buf = queue.Dequeue(); |
1764 | PacketReceived(buf); | 1767 | PacketReceived(buf); |
1765 | } | 1768 | } |
1769 | |||
1766 | queue = null; | 1770 | queue = null; |
1767 | 1771 | ||
1768 | // Send ack straight away to let the viewer know that the connection is active. | 1772 | // Send ack straight away to let the viewer know that the connection is active. |
@@ -1788,8 +1792,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1788 | uccp.CircuitCode.ID, m_scene.RegionInfo.RegionName, uccp.CircuitCode.Code, endPoint); | 1792 | uccp.CircuitCode.ID, m_scene.RegionInfo.RegionName, uccp.CircuitCode.Code, endPoint); |
1789 | lock (m_pendingCache) | 1793 | lock (m_pendingCache) |
1790 | m_pendingCache.Remove(endPoint); | 1794 | m_pendingCache.Remove(endPoint); |
1791 | } | 1795 | } |
1792 | |||
1793 | // m_log.DebugFormat( | 1796 | // m_log.DebugFormat( |
1794 | // "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms", | 1797 | // "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms", |
1795 | // buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds); | 1798 | // buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds); |
@@ -1806,8 +1809,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1806 | e.StackTrace); | 1809 | e.StackTrace); |
1807 | } | 1810 | } |
1808 | } | 1811 | } |
1809 | 1812 | /* | |
1810 | private void HandleCompleteMovementIntoRegion(object o) | 1813 | private void HandleCompleteMovementIntoRegion(object o) |
1811 | { | 1814 | { |
1812 | IPEndPoint endPoint = null; | 1815 | IPEndPoint endPoint = null; |
1813 | IClientAPI client = null; | 1816 | IClientAPI client = null; |
@@ -1916,6 +1919,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1916 | e.StackTrace); | 1919 | e.StackTrace); |
1917 | } | 1920 | } |
1918 | } | 1921 | } |
1922 | */ | ||
1919 | 1923 | ||
1920 | /// <summary> | 1924 | /// <summary> |
1921 | /// Send an ack immediately to the given endpoint. | 1925 | /// Send an ack immediately to the given endpoint. |
@@ -2053,7 +2057,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2053 | m_incomingPacketPool.ReturnObject(incomingPacket); | 2057 | m_incomingPacketPool.ReturnObject(incomingPacket); |
2054 | } | 2058 | } |
2055 | } | 2059 | } |
2056 | catch (Exception ex) | 2060 | catch(Exception ex) |
2057 | { | 2061 | { |
2058 | m_log.Error("[LLUDPSERVER]: Error in the incoming packet handler loop: " + ex.Message, ex); | 2062 | m_log.Error("[LLUDPSERVER]: Error in the incoming packet handler loop: " + ex.Message, ex); |
2059 | } | 2063 | } |