public static InternalBufferManager Create(long maxBufferPoolSize, int maxBufferSize, bool isTransportBufferPool)
{
if (maxBufferPoolSize == 0)
{
return GCBufferManager.Value;
}
else
{
Fx.Assert(maxBufferPoolSize > 0 && maxBufferSize >= 0, "bad params, caller should verify");
if (isTransportBufferPool)
{
return new PreallocatedBufferManager(maxBufferPoolSize, maxBufferSize);
}
else
{
return new PooledBufferManager(maxBufferPoolSize, maxBufferSize);
}
}
}