Ejemplo n.º 1
0
 public void NativePoolBasics()
 {
     using (var pool = new NativeBufferPool(256, 10))
     {
         List <ByteSpan> buffers = new List <ByteSpan>();
         for (byte i = 0; i < 10; i++)
         {
             var buffer = pool.Rent();
             buffers.Add(buffer);
             for (int bi = 0; bi < buffer.Length; bi++)
             {
                 buffer[bi] = i;
             }
         }
         for (byte i = 0; i < 10; i++)
         {
             var buffer = buffers[i];
             for (int bi = 0; bi < buffer.Length; bi++)
             {
                 Assert.Equal(i, buffer[bi]);
             }
             pool.Return(buffer);
         }
     }
 }
Ejemplo n.º 2
0
 public BufferManager(NativeBufferPool pool, IntPtr memory, int length)
 {
     _pool    = pool;
     _pointer = memory;
     _length  = length;
 }