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 = PkgHeader.SizeOf() + mStride * (i + 1); mPkgPools[i] = pool; } }
public bool FreePkg(byte[] pkg) { int size = pkg.Length - PkgHeader.SizeOf(); if (size < 0) { return(false); } int index = size / mStride - 1; if (index >= mNumber) { return(false); } return(mPkgPools[index].FreePkg(pkg)); }
public int CurPtr() { return(PkgHeader.SizeOf() + GetPosition()); }
public int DataPtr() { return(PkgHeader.SizeOf()); }