public void TestNewByteBuf_5() { NativePooledByteBuffer sb5 = (NativePooledByteBuffer)_factory.NewByteBuffer(5); Assert.AreEqual(8, sb5._bufRef.Get().Size); Assert.AreEqual(1, sb5._bufRef.GetUnderlyingReferenceTestOnly().GetRefCountTestOnly()); _stats.Refresh(); var testStat = new Dictionary <int, Tuple <int, int> >() { { 32, new Tuple <int, int>(0, 0) }, { 16, new Tuple <int, int>(0, 0) }, { 8, new Tuple <int, int>(1, 0) }, { 4, new Tuple <int, int>(0, 0) } }; Assert.IsTrue(testStat.All(e => _stats.BucketStats.Contains(e))); sb5.Dispose(); _stats.Refresh(); testStat = new Dictionary <int, Tuple <int, int> >() { { 32, new Tuple <int, int>(0, 0) }, { 16, new Tuple <int, int>(0, 0) }, { 8, new Tuple <int, int>(0, 1) }, { 4, new Tuple <int, int>(0, 0) } }; Assert.IsTrue(testStat.All(e => _stats.BucketStats.Contains(e))); }
public void Initialize() { _chunk = new FakeNativeMemoryChunk(BYTES.Length); _chunk.Write(0, BYTES, 0, BYTES.Length); _pool = new FakeNativeMemoryChunkPool(); var poolRef = CloseableReference <NativeMemoryChunk> .of(_chunk, _pool); _pooledByteBuffer = new NativePooledByteBuffer( poolRef, BUFFER_LENGTH); poolRef.Dispose(); }
public void TestNewByteBuf_2() { NativePooledByteBuffer sb2 = (NativePooledByteBuffer)_factory.NewByteBuffer(new MemoryStream(_data), 8); Assert.AreEqual(16, sb2._bufRef.Get().Size); AssertArrayEquals(_data, GetBytes(sb2), _data.Length); _stats.Refresh(); var testStat = new Dictionary <int, Tuple <int, int> >() { { 32, new Tuple <int, int>(0, 0) }, { 16, new Tuple <int, int>(1, 0) }, { 8, new Tuple <int, int>(0, 1) }, { 4, new Tuple <int, int>(0, 0) } }; Assert.IsTrue(testStat.All(e => _stats.BucketStats.Contains(e))); }
public void TestBasic_2() { NativePooledByteBufferOutputStream os2 = new NativePooledByteBufferOutputStream(_pool, 8); NativePooledByteBuffer sb2 = DoWrite(os2, _data); Assert.AreEqual(16, sb2._bufRef.Get().Size); AssertArrayEquals(_data, GetBytes(sb2), _data.Length); _stats.Refresh(); var testStat = new Dictionary <int, Tuple <int, int> >() { { 32, new Tuple <int, int>(0, 0) }, { 16, new Tuple <int, int>(1, 0) }, { 8, new Tuple <int, int>(0, 1) }, { 4, new Tuple <int, int>(0, 0) } }; Assert.IsTrue(testStat.All(e => _stats.BucketStats.Contains(e))); }
public void TestWriteAfterToByteBuf() { NativePooledByteBufferOutputStream os1 = new NativePooledByteBufferOutputStream(_pool); byte[] _data1 = new byte[9]; byte[] _data2 = new byte[3]; Array.Copy(_data, _data1, _data1.Length); Array.Copy(_data, _data2, _data2.Length); NativePooledByteBuffer buf1 = DoWrite(os1, _data1); NativePooledByteBuffer buf2 = DoWrite(os1, _data2); Assert.AreEqual(12, buf2.Size); CloseableReference <NativeMemoryChunk> chunk = buf1._bufRef; Assert.AreEqual(3, chunk.GetUnderlyingReferenceTestOnly().GetRefCountTestOnly()); os1.Dispose(); buf1.Dispose(); buf2.Dispose(); Assert.AreEqual(0, chunk.GetUnderlyingReferenceTestOnly().GetRefCountTestOnly()); }
private byte[] GetBytes(NativePooledByteBuffer bb) { byte[] bytes = new byte[bb.Size]; bb._bufRef.Get().Read(0, bytes, 0, bytes.Length); return(bytes); }