public void Load(Beetle.BufferReader reader) { string type = reader.ReadString(); //Beetle.ByteArraySegment segment = mArrayPool.Pop(); byte[] data = reader.ReadByteArray(); using (System.IO.Stream stream = new System.IO.MemoryStream(data, 0, data.Length)) { Message = ProtoBuf.Meta.RuntimeTypeModel.Default.Deserialize(stream, null, Type.GetType(type)); } }
public void Load(Beetle.BufferReader reader) { string type = reader.ReadString(); Beetle.ByteArraySegment segment = mArrayPool.Pop(); reader.ReadByteArray(segment); using (System.IO.Stream stream = new System.IO.MemoryStream(segment.Array,0,segment.Count)) { Message = ProtoBuf.Meta.RuntimeTypeModel.Default.Deserialize(stream, null, Type.GetType(type)); } mArrayPool.Push(segment); }