diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 53 |
1 files changed, 23 insertions, 30 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index b5bdd46..8f345e7 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -991,8 +991,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
991 | bufferSize = dataLength; | 991 | bufferSize = dataLength; |
992 | buffer = new UDPPacketBuffer(udpClient.RemoteEndPoint, bufferSize); | 992 | buffer = new UDPPacketBuffer(udpClient.RemoteEndPoint, bufferSize); |
993 | 993 | ||
994 | // m_log.Error("[LLUDPSERVER]: Packet exceeded buffer size! This could be an indication of packet assembly not obeying the MTU. Type=" + | 994 | m_log.Error("[LLUDPSERVER]: Packet exceeded buffer size! This could be an indication of packet assembly not obeying the MTU. Type=" + |
995 | // type + ", DataLength=" + dataLength + ", BufferLength=" + buffer.Data.Length + ". Dropping packet"); | 995 | type + ", DataLength=" + dataLength + ", BufferLength=" + buffer.Data.Length); |
996 | Buffer.BlockCopy(data, 0, buffer.Data, 0, dataLength); | 996 | Buffer.BlockCopy(data, 0, buffer.Data, 0, dataLength); |
997 | } | 997 | } |
998 | } | 998 | } |
@@ -1200,7 +1200,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1200 | Utils.UIntToBytesBig(sequenceNumber, buffer.Data, 1); | 1200 | Utils.UIntToBytesBig(sequenceNumber, buffer.Data, 1); |
1201 | outgoingPacket.SequenceNumber = sequenceNumber; | 1201 | outgoingPacket.SequenceNumber = sequenceNumber; |
1202 | 1202 | ||
1203 | if (udpClient.ProcessUnackedSends && isReliable) | 1203 | if (isReliable) |
1204 | { | 1204 | { |
1205 | // Add this packet to the list of ACK responses we are waiting on from the server | 1205 | // Add this packet to the list of ACK responses we are waiting on from the server |
1206 | udpClient.NeedAcks.Add(outgoingPacket); | 1206 | udpClient.NeedAcks.Add(outgoingPacket); |
@@ -1418,37 +1418,30 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1418 | 1418 | ||
1419 | #region ACK Receiving | 1419 | #region ACK Receiving |
1420 | 1420 | ||
1421 | if (udpClient.ProcessUnackedSends) | 1421 | // Handle appended ACKs |
1422 | if (packet.Header.AppendedAcks && packet.Header.AckList != null) | ||
1422 | { | 1423 | { |
1423 | // Handle appended ACKs | 1424 | // m_log.DebugFormat( |
1424 | if (packet.Header.AppendedAcks && packet.Header.AckList != null) | 1425 | // "[LLUDPSERVER]: Handling {0} appended acks from {1} in {2}", |
1425 | { | 1426 | // packet.Header.AckList.Length, client.Name, m_scene.Name); |
1426 | // m_log.DebugFormat( | ||
1427 | // "[LLUDPSERVER]: Handling {0} appended acks from {1} in {2}", | ||
1428 | // packet.Header.AckList.Length, client.Name, m_scene.Name); | ||
1429 | 1427 | ||
1430 | for (int i = 0; i < packet.Header.AckList.Length; i++) | 1428 | for (int i = 0; i < packet.Header.AckList.Length; i++) |
1431 | udpClient.NeedAcks.Acknowledge(packet.Header.AckList[i], now, packet.Header.Resent); | 1429 | udpClient.NeedAcks.Acknowledge(packet.Header.AckList[i], now, packet.Header.Resent); |
1432 | } | 1430 | } |
1433 | 1431 | ||
1434 | // Handle PacketAck packets | 1432 | // Handle PacketAck packets |
1435 | if (packet.Type == PacketType.PacketAck) | 1433 | if (packet.Type == PacketType.PacketAck) |
1436 | { | 1434 | { |
1437 | PacketAckPacket ackPacket = (PacketAckPacket)packet; | 1435 | PacketAckPacket ackPacket = (PacketAckPacket)packet; |
1438 | 1436 | ||
1439 | // m_log.DebugFormat( | 1437 | // m_log.DebugFormat( |
1440 | // "[LLUDPSERVER]: Handling {0} packet acks for {1} in {2}", | 1438 | // "[LLUDPSERVER]: Handling {0} packet acks for {1} in {2}", |
1441 | // ackPacket.Packets.Length, client.Name, m_scene.Name); | 1439 | // ackPacket.Packets.Length, client.Name, m_scene.Name); |
1442 | 1440 | ||
1443 | for (int i = 0; i < ackPacket.Packets.Length; i++) | 1441 | for (int i = 0; i < ackPacket.Packets.Length; i++) |
1444 | udpClient.NeedAcks.Acknowledge(ackPacket.Packets[i].ID, now, packet.Header.Resent); | 1442 | udpClient.NeedAcks.Acknowledge(ackPacket.Packets[i].ID, now, packet.Header.Resent); |
1445 | 1443 | ||
1446 | // We don't need to do anything else with PacketAck packets | 1444 | // We don't need to do anything else with PacketAck packets |
1447 | return; | ||
1448 | } | ||
1449 | } | ||
1450 | else if (packet.Type == PacketType.PacketAck) | ||
1451 | { | ||
1452 | return; | 1445 | return; |
1453 | } | 1446 | } |
1454 | 1447 | ||
@@ -1510,7 +1503,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1510 | #endregion BinaryStats | 1503 | #endregion BinaryStats |
1511 | 1504 | ||
1512 | 1505 | ||
1513 | //Ubit AgentUpdate mess removed from here | 1506 | //AgentUpdate removed from here |
1514 | 1507 | ||
1515 | 1508 | ||
1516 | #region Ping Check Handling | 1509 | #region Ping Check Handling |
@@ -2168,7 +2161,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2168 | 2161 | ||
2169 | if (udpClient.IsConnected) | 2162 | if (udpClient.IsConnected) |
2170 | { | 2163 | { |
2171 | if (udpClient.ProcessUnackedSends && m_resendUnacked) | 2164 | if (m_resendUnacked) |
2172 | HandleUnacked(llClient); | 2165 | HandleUnacked(llClient); |
2173 | 2166 | ||
2174 | if (m_sendAcks) | 2167 | if (m_sendAcks) |