diff options
Merge branch 'master' into careminster
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 20 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 10 |
2 files changed, 28 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index dfad485..ac5e77e 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3816,6 +3816,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3816 | ResendPrimUpdate(update); | 3816 | ResendPrimUpdate(update); |
3817 | } | 3817 | } |
3818 | 3818 | ||
3819 | // OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>> objectUpdateBlocks = new OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>>(); | ||
3820 | // OpenSim.Framework.Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>> compressedUpdateBlocks = new OpenSim.Framework.Lazy<List<ObjectUpdateCompressedPacket.ObjectDataBlock>>(); | ||
3821 | // OpenSim.Framework.Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>> terseUpdateBlocks = new OpenSim.Framework.Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>>(); | ||
3822 | // OpenSim.Framework.Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>> terseAgentUpdateBlocks = new OpenSim.Framework.Lazy<List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>>(); | ||
3823 | // | ||
3824 | // OpenSim.Framework.Lazy<List<EntityUpdate>> objectUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); | ||
3825 | // OpenSim.Framework.Lazy<List<EntityUpdate>> compressedUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); | ||
3826 | // OpenSim.Framework.Lazy<List<EntityUpdate>> terseUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); | ||
3827 | // OpenSim.Framework.Lazy<List<EntityUpdate>> terseAgentUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); | ||
3828 | |||
3829 | |||
3819 | private void ProcessEntityUpdates(int maxUpdates) | 3830 | private void ProcessEntityUpdates(int maxUpdates) |
3820 | { | 3831 | { |
3821 | OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>> objectUpdateBlocks = new OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>>(); | 3832 | OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>> objectUpdateBlocks = new OpenSim.Framework.Lazy<List<ObjectUpdatePacket.ObjectDataBlock>>(); |
@@ -3828,6 +3839,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3828 | OpenSim.Framework.Lazy<List<EntityUpdate>> terseUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); | 3839 | OpenSim.Framework.Lazy<List<EntityUpdate>> terseUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); |
3829 | OpenSim.Framework.Lazy<List<EntityUpdate>> terseAgentUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); | 3840 | OpenSim.Framework.Lazy<List<EntityUpdate>> terseAgentUpdates = new OpenSim.Framework.Lazy<List<EntityUpdate>>(); |
3830 | 3841 | ||
3842 | // objectUpdateBlocks.Value.Clear(); | ||
3843 | // compressedUpdateBlocks.Value.Clear(); | ||
3844 | // terseUpdateBlocks.Value.Clear(); | ||
3845 | // terseAgentUpdateBlocks.Value.Clear(); | ||
3846 | // objectUpdates.Value.Clear(); | ||
3847 | // compressedUpdates.Value.Clear(); | ||
3848 | // terseUpdates.Value.Clear(); | ||
3849 | // terseAgentUpdates.Value.Clear(); | ||
3850 | |||
3831 | // Check to see if this is a flush | 3851 | // Check to see if this is a flush |
3832 | if (maxUpdates <= 0) | 3852 | if (maxUpdates <= 0) |
3833 | { | 3853 | { |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 77b07ed..b4ac021 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -809,8 +809,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
809 | } | 809 | } |
810 | 810 | ||
811 | PacketPool.Instance.ReturnPacket(packet); | 811 | PacketPool.Instance.ReturnPacket(packet); |
812 | m_dataPresentEvent.Set(); | ||
813 | |||
812 | } | 814 | } |
813 | 815 | ||
816 | private AutoResetEvent m_dataPresentEvent = new AutoResetEvent(false); | ||
817 | |||
814 | /// <summary> | 818 | /// <summary> |
815 | /// Start the process of sending a packet to the client. | 819 | /// Start the process of sending a packet to the client. |
816 | /// </summary> | 820 | /// </summary> |
@@ -1730,6 +1734,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1730 | // Action generic every round | 1734 | // Action generic every round |
1731 | Action<IClientAPI> clientPacketHandler = ClientOutgoingPacketHandler; | 1735 | Action<IClientAPI> clientPacketHandler = ClientOutgoingPacketHandler; |
1732 | 1736 | ||
1737 | // while (true) | ||
1733 | while (base.IsRunningOutbound) | 1738 | while (base.IsRunningOutbound) |
1734 | { | 1739 | { |
1735 | m_scene.ThreadAlive(2); | 1740 | m_scene.ThreadAlive(2); |
@@ -1791,8 +1796,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1791 | 1796 | ||
1792 | // If nothing was sent, sleep for the minimum amount of time before a | 1797 | // If nothing was sent, sleep for the minimum amount of time before a |
1793 | // token bucket could get more tokens | 1798 | // token bucket could get more tokens |
1794 | if (!m_packetSent) | 1799 | //if (!m_packetSent) |
1795 | Thread.Sleep((int)TickCountResolution); | 1800 | // Thread.Sleep((int)TickCountResolution); |
1801 | m_dataPresentEvent.WaitOne(100); | ||
1796 | 1802 | ||
1797 | Watchdog.UpdateThread(); | 1803 | Watchdog.UpdateThread(); |
1798 | } | 1804 | } |