예제 #1
0
        public static void Deserialize(Message instance, UnsafeBufferWrapper wrapper)
        {
            instance.Header = wrapper.Read<Header>();
            instance.Id = wrapper.ReadInt32();
            instance.PartCount = wrapper.ReadInt32();

            for (var i = 0; i < instance.PartCount; i++)
            {
                instance.Parts[i] = wrapper.Read<MessagePart>();
            }
        }
예제 #2
0
        public static void Deserialize(Message instance, UnsafeBufferWrapper wrapper)
        {
            instance.Header = *(Header*)wrapper.Cursor;
            wrapper.Cursor += sizeof(Header);
            instance.Id = wrapper.ReadInt32();
            instance.PartCount = wrapper.ReadInt32();

            for (var i = 0; i < instance.PartCount; i++)
            {
                instance.Parts[i] = *(MessagePart*)wrapper.Cursor;
                wrapper.Cursor += sizeof(MessagePart);
            }
        }
예제 #3
0
 public void Should_read_and_write_ints()
 {
     var buffer = new byte[1024];
     using (var wrapper = new UnsafeBufferWrapper(buffer))
     {
         const int value = 42;
         wrapper.Write(value);
         Assert.AreEqual(wrapper.Position, sizeof (int));
         wrapper.ResetCursor();
         var readValue = wrapper.ReadInt32();
         Assert.AreEqual(value, readValue);
     }
 }