public void InitPools(int stride) { mNumber = 65536 / stride; mPkgPools = new PkgPool[mNumber]; mStride = stride; for (int i = 0; i < mNumber; i++) { var pool = new PkgPool(); pool.Size = RPCHeader.SizeOf() + mStride * (i + 1); mPkgPools[i] = pool; } }
public bool FreePkg(byte[] pkg) { int size = pkg.Length - RPCHeader.SizeOf(); if (size < 0) { return(false); } int index = size / mStride - 1; if (index >= mNumber) { return(false); } return(mPkgPools[index].FreePkg(pkg)); }
public BNetPacket(byte[] serializedObject, bool hidden, RPCHeader header, object decodedObject) : base(PacketType.BattleNet, serializedObject, hidden, decodedObject) { Header = header; }