diff options
Another temporary bug fix attempt, this time for the packet overflow problem, changed it so for now, packets are ACKed straight away in one PacketAck Packet for each ACK.
Diffstat (limited to '')
-rw-r--r-- | OpenSim.RegionServer/SimClient.cs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs index 6c64731..4359646 100644 --- a/OpenSim.RegionServer/SimClient.cs +++ b/OpenSim.RegionServer/SimClient.cs | |||
@@ -183,14 +183,18 @@ namespace OpenSim | |||
183 | 183 | ||
184 | private void ack_pack(Packet Pack) | 184 | private void ack_pack(Packet Pack) |
185 | { | 185 | { |
186 | //libsecondlife.Packets.PacketAckPacket ack_it = new PacketAckPacket(); | 186 | if (Pack.Header.Reliable) |
187 | //ack_it.Packets = new PacketAckPacket.PacketsBlock[1]; | 187 | { |
188 | //ack_it.Packets[0] = new PacketAckPacket.PacketsBlock(); | 188 | libsecondlife.Packets.PacketAckPacket ack_it = new PacketAckPacket(); |
189 | //ack_it.Packets[0].ID = Pack.Header.ID; | 189 | ack_it.Packets = new PacketAckPacket.PacketsBlock[1]; |
190 | //ack_it.Header.Reliable = false; | 190 | ack_it.Packets[0] = new PacketAckPacket.PacketsBlock(); |
191 | ack_it.Packets[0].ID = Pack.Header.Sequence; | ||
192 | ack_it.Header.Reliable = false; | ||
191 | 193 | ||
192 | //OutPacket(ack_it); | 194 | OutPacket(ack_it); |
193 | 195 | ||
196 | } | ||
197 | /* | ||
194 | if (Pack.Header.Reliable) | 198 | if (Pack.Header.Reliable) |
195 | { | 199 | { |
196 | lock (PendingAcks) | 200 | lock (PendingAcks) |
@@ -198,7 +202,7 @@ namespace OpenSim | |||
198 | uint sequence = (uint)Pack.Header.Sequence; | 202 | uint sequence = (uint)Pack.Header.Sequence; |
199 | if (!PendingAcks.ContainsKey(sequence)) { PendingAcks[sequence] = sequence; } | 203 | if (!PendingAcks.ContainsKey(sequence)) { PendingAcks[sequence] = sequence; } |
200 | } | 204 | } |
201 | } | 205 | }*/ |
202 | } | 206 | } |
203 | 207 | ||
204 | protected virtual void ProcessInPacket(Packet Pack) | 208 | protected virtual void ProcessInPacket(Packet Pack) |