diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 4d9f58f..3c4fa72 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -402,7 +402,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
402 | #region Queue or Send | 402 | #region Queue or Send |
403 | 403 | ||
404 | OutgoingPacket outgoingPacket = new OutgoingPacket(udpClient, buffer, category); | 404 | OutgoingPacket outgoingPacket = new OutgoingPacket(udpClient, buffer, category); |
405 | outgoingPacket.Type = type; | ||
406 | 405 | ||
407 | if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket)) | 406 | if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket)) |
408 | SendPacketFinal(outgoingPacket); | 407 | SendPacketFinal(outgoingPacket); |
@@ -514,7 +513,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
514 | byte flags = buffer.Data[0]; | 513 | byte flags = buffer.Data[0]; |
515 | bool isResend = (flags & Helpers.MSG_RESENT) != 0; | 514 | bool isResend = (flags & Helpers.MSG_RESENT) != 0; |
516 | bool isReliable = (flags & Helpers.MSG_RELIABLE) != 0; | 515 | bool isReliable = (flags & Helpers.MSG_RELIABLE) != 0; |
517 | bool sendSynchronous = false; | ||
518 | LLUDPClient udpClient = outgoingPacket.Client; | 516 | LLUDPClient udpClient = outgoingPacket.Client; |
519 | 517 | ||
520 | if (!udpClient.IsConnected) | 518 | if (!udpClient.IsConnected) |
@@ -570,28 +568,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
570 | if (isReliable) | 568 | if (isReliable) |
571 | Interlocked.Add(ref udpClient.UnackedBytes, outgoingPacket.Buffer.DataLength); | 569 | Interlocked.Add(ref udpClient.UnackedBytes, outgoingPacket.Buffer.DataLength); |
572 | 570 | ||
573 | //Some packet types need to be sent synchonously. | ||
574 | //Sorry, i know it's not optimal, but until the LL client | ||
575 | //manages packets correctly and re-orders them as required, this is necessary. | ||
576 | |||
577 | |||
578 | // Put the UDP payload on the wire | 571 | // Put the UDP payload on the wire |
579 | if (outgoingPacket.Type == PacketType.ImprovedTerseObjectUpdate) | 572 | AsyncBeginSend(buffer); |
580 | { | 573 | |
581 | SyncBeginPrioritySend(buffer, 2); // highest priority | ||
582 | } | ||
583 | else if (outgoingPacket.Type == PacketType.ObjectUpdate | ||
584 | || outgoingPacket.Type == PacketType.LayerData) | ||
585 | { | ||
586 | SyncBeginPrioritySend(buffer, 1); // medium priority | ||
587 | } | ||
588 | else | ||
589 | { | ||
590 | SyncBeginPrioritySend(buffer, 0); // normal priority | ||
591 | } | ||
592 | |||
593 | //AsyncBeginSend(buffer); | ||
594 | |||
595 | // Keep track of when this packet was sent out (right now) | 574 | // Keep track of when this packet was sent out (right now) |
596 | outgoingPacket.TickCount = Environment.TickCount & Int32.MaxValue; | 575 | outgoingPacket.TickCount = Environment.TickCount & Int32.MaxValue; |
597 | } | 576 | } |
@@ -872,7 +851,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
872 | 851 | ||
873 | Buffer.BlockCopy(packetData, 0, buffer.Data, 0, length); | 852 | Buffer.BlockCopy(packetData, 0, buffer.Data, 0, length); |
874 | 853 | ||
875 | SyncBeginPrioritySend(buffer, 1); //Setting this to a medium priority should help minimise resends | 854 | AsyncBeginSend(buffer); |
876 | } | 855 | } |
877 | 856 | ||
878 | private bool IsClientAuthorized(UseCircuitCodePacket useCircuitCode, out AuthenticateResponse sessionInfo) | 857 | private bool IsClientAuthorized(UseCircuitCodePacket useCircuitCode, out AuthenticateResponse sessionInfo) |