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); } } }
public BufferManager(NativeBufferPool pool, IntPtr memory, int length) { _pool = pool; _pointer = memory; _length = length; }