public BufferPool(BufferPoolSettings settings, string poolName = "") { settings.Validate(); m_settings = settings; m_poolName = poolName; m_buffers = new PtrStack(); Allocate(settings.BufferSize, settings.NumOfBuffers); }
/// <summary> /// /// </summary> /// <param name="bufferSize"></param> /// <param name="numOfBuffers"></param> /// <returns></returns> public static BufferPoolSettings CreateDefault(int bufferSize, int numOfBuffers) { var bps = new BufferPoolSettings(); bps.BufferSize = bufferSize; bps.GrowthRatio = 0.3; bps.MaxBuffers = int.MaxValue; bps.NumOfBuffers = numOfBuffers; bps.ShrinkRatio = 2.0; return(bps); }