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.

0.1-prestable
MW 2007-04-03 18:47:10 +00:00
parent 73380ed52b
commit 6d8dcd1d1d
1 changed files with 11 additions and 7 deletions

View File

@ -183,14 +183,18 @@ namespace OpenSim
private void ack_pack(Packet Pack)
{
//libsecondlife.Packets.PacketAckPacket ack_it = new PacketAckPacket();
//ack_it.Packets = new PacketAckPacket.PacketsBlock[1];
//ack_it.Packets[0] = new PacketAckPacket.PacketsBlock();
//ack_it.Packets[0].ID = Pack.Header.ID;
//ack_it.Header.Reliable = false;
if (Pack.Header.Reliable)
{
libsecondlife.Packets.PacketAckPacket ack_it = new PacketAckPacket();
ack_it.Packets = new PacketAckPacket.PacketsBlock[1];
ack_it.Packets[0] = new PacketAckPacket.PacketsBlock();
ack_it.Packets[0].ID = Pack.Header.Sequence;
ack_it.Header.Reliable = false;
//OutPacket(ack_it);
OutPacket(ack_it);
}
/*
if (Pack.Header.Reliable)
{
lock (PendingAcks)
@ -198,7 +202,7 @@ namespace OpenSim
uint sequence = (uint)Pack.Header.Sequence;
if (!PendingAcks.ContainsKey(sequence)) { PendingAcks[sequence] = sequence; }
}
}
}*/
}
protected virtual void ProcessInPacket(Packet Pack)