39 lines
776 B
C#
39 lines
776 B
C#
using System;
|
|
using System.IO;
|
|
using Crysome.Common.Network.Packets;
|
|
|
|
namespace Crysome.Common.Network.FileTransfer;
|
|
|
|
public sealed class FtSackPacket : IPacket
|
|
{
|
|
public uint TransferId;
|
|
|
|
public int HighestContiguous;
|
|
|
|
public int[] NackList;
|
|
|
|
public void Write(BinaryWriter w)
|
|
{
|
|
w.Write(TransferId);
|
|
w.Write(HighestContiguous);
|
|
short num = (short)((NackList != null) ? Math.Min(NackList.Length, 128) : 0);
|
|
w.Write(num);
|
|
for (int i = 0; i < num; i++)
|
|
{
|
|
w.Write(NackList[i]);
|
|
}
|
|
}
|
|
|
|
public void Read(BinaryReader r)
|
|
{
|
|
TransferId = r.ReadUInt32();
|
|
HighestContiguous = r.ReadInt32();
|
|
int num = r.ReadInt16();
|
|
NackList = new int[num];
|
|
for (int i = 0; i < num; i++)
|
|
{
|
|
NackList[i] = r.ReadInt32();
|
|
}
|
|
}
|
|
}
|