Example #1
0
 //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();
        }
Example #5
0
 public virtual void Serialize(RecyclableMemoryStream target)
 {
     target.WriteByte((byte)PacketType);
     target.WriteByte((byte)PacketFlag);
 }