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>(); } }
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); } }
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); } }