aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
diff options
context:
space:
mode:
authorUbitUmarov2019-02-27 10:07:25 +0000
committerUbitUmarov2019-02-27 10:07:25 +0000
commitbcf05afd64d3b38c66d6d117a51e336a7e98dfc3 (patch)
tree86e40c3780aa30a1bb2559a30ff4f48d38d02fd3 /OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
parentavoid packet split on terseupdates (diff)
downloadopensim-SC-bcf05afd64d3b38c66d6d117a51e336a7e98dfc3.zip
opensim-SC-bcf05afd64d3b38c66d6d117a51e336a7e98dfc3.tar.gz
opensim-SC-bcf05afd64d3b38c66d6d117a51e336a7e98dfc3.tar.bz2
opensim-SC-bcf05afd64d3b38c66d6d117a51e336a7e98dfc3.tar.xz
direct encode terseupdates
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index d324623..f12b3b9 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -934,6 +934,27 @@ namespace OpenSim.Region.ClientStack.LindenUDP
934 #endregion Queue or Send 934 #endregion Queue or Send
935 } 935 }
936 936
937 public void SendUDPPacket(
938 LLUDPClient udpClient, UDPPacketBuffer buffer, ThrottleOutPacketType category, UnackedPacketMethod method, bool forcequeue)
939 {
940 bool highPriority = false;
941
942 if (category != ThrottleOutPacketType.Unknown && (category & ThrottleOutPacketType.HighPriority) != 0)
943 {
944 category = (ThrottleOutPacketType)((int)category & 127);
945 highPriority = true;
946 }
947
948 OutgoingPacket outgoingPacket = new OutgoingPacket(udpClient, buffer, category, null);
949
950 // If we were not provided a method for handling unacked, use the UDPServer default method
951 if ((outgoingPacket.Buffer.Data[0] & Helpers.MSG_RELIABLE) != 0)
952 outgoingPacket.UnackedMethod = ((method == null) ? delegate (OutgoingPacket oPacket) { ResendUnacked(oPacket); } : method);
953
954 if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket, forcequeue, highPriority))
955 SendPacketFinal(outgoingPacket);
956 }
957
937 public void SendAcks(LLUDPClient udpClient) 958 public void SendAcks(LLUDPClient udpClient)
938 { 959 {
939 uint ack; 960 uint ack;