public override byte[] TakeBuffer(int bufferSize)
{
if (bufferSize > this.maxBufferSize)
{
return null;
}
byte[] returnedBuffer = null;
if (bufferSize <= this.smallBufferSize)
{
this.freeSmallBuffers.TryPop(out returnedBuffer);
return returnedBuffer;
}
if (bufferSize <= this.medBufferSize)
{
this.freeMedianBuffers.TryPop(out returnedBuffer);
return returnedBuffer;
}
this.freeLargeBuffers.TryPop(out returnedBuffer);
return returnedBuffer;
}