Example #1
0
 /// <summary> Выделить новый буфер и перевести его в состояние "используется".</summary>
 /// <param name="size">Размер буфера в байтах</param>
 /// <param name="cleanOnRelease">true, если буфер надо очищать при возврате в пул.</param>
 /// <remarks>Этот метод может выделить буфер не того размера, который был запрошен пользователем.
 /// Умолчательная реализация метода дополняет размер буфера до кратного <see cref="Granularity"/>.</remarks>
 /// <seealso cref="Allocate"/>
 protected virtual Buffer NewAllocatedBuffer(int size, bool cleanOnRelease)
 {
     int mod = size % granularity;
     size = granularity * ((size / granularity) + ((size % granularity > 0) ? 1 : 0));
     Buffer r = new Buffer(this, size);
     r.Allocate(cleanOnRelease);
     return r;
 }