public void CopySubMessage() { const byte Test1 = 12; const byte Test2 = 146; var msg = new MessageWriter(2048); msg.StartMessage(1); msg.StartMessage(2); msg.Write(Test1); msg.Write(Test2); msg.EndMessage(); msg.EndMessage(); MessageReader handleMessage = MessageReader.Get(msg.Buffer, 0); Assert.AreEqual(1, handleMessage.Tag); var parentReader = MessageReader.Get(handleMessage); handleMessage.Recycle(); SetZero(handleMessage); Assert.AreEqual(1, parentReader.Tag); for (int i = 0; i < 5; ++i) { var reader = parentReader.ReadMessage(); Assert.AreEqual(2, reader.Tag); Assert.AreEqual(Test1, reader.ReadByte()); Assert.AreEqual(Test2, reader.ReadByte()); var temp = parentReader; parentReader = MessageReader.CopyMessageIntoParent(reader); temp.Recycle(); SetZero(temp); SetZero(reader); } }