//From LittleEndianByteConverter by Shoftee private void Append(long value, int byteCount) { for (int i = 0; i < byteCount; i++) { m_stream.WriteByte((byte)value); value >>= 8; } }
public void CanDecreaseLength() { using var stream = new RecyclableMemoryStream(); stream.WriteByte(0xCA); stream.WriteByte(0xFE); Assert.That(stream.Length, Is.EqualTo(2)); Assert.That(stream.Position, Is.EqualTo(2)); stream.SetLength(1); Assert.That(stream.Length, Is.EqualTo(1)); Assert.That(stream.Position, Is.EqualTo(1)); }
public void PublicMethodThrowAfterDispose() { var stream = new RecyclableMemoryStream(); stream.Dispose(); byte[] buffer = new byte[1]; Assert.That( () => stream.SetLength(10), Throws.InstanceOf <ObjectDisposedException>()); Assert.That( () => stream.WriteByte(0x00), Throws.InstanceOf <ObjectDisposedException>()); Assert.That( () => stream.Write(buffer, 0, 1), Throws.InstanceOf <ObjectDisposedException>()); Assert.That( () => stream.ReadByte(), Throws.InstanceOf <ObjectDisposedException>()); Assert.That( () => stream.Read(buffer, 0, 1), Throws.InstanceOf <ObjectDisposedException>()); }
public void UpdatedLongBufferIsClean() { var stream = new RecyclableMemoryStream(); stream.WriteByte(0x42); stream.SetLength(11); Assert.That(stream.Length, Is.EqualTo(11)); stream.Position = 0; Assert.That(stream.ReadByte(), Is.EqualTo(0x42)); for (int i = 0; i < 10; i++) { Assert.That(stream.ReadByte(), Is.EqualTo(0)); } stream.SetLength(80 * 1024); stream.Position = 1; for (int i = 1; i < stream.Length; i++) { Assert.That(stream.ReadByte(), Is.EqualTo(0)); } stream.Dispose(); }
public virtual void Serialize(RecyclableMemoryStream target) { target.WriteByte((byte)PacketType); target.WriteByte((byte)PacketFlag); }