Пример #1
0
        public object Deserialize(BinaryReader reader, SerializationMetadata metadata)
        {
            var length = reader.ReadInt32();

            var items = new List <TContainerMessage>();

            for (var i = 0; i < length; i++)
            {
                var item = new TContainerMessage
                {
                    MsgId = reader.ReadInt64(),
                    SeqNo = reader.ReadInt32(),
                    Bytes = reader.ReadInt32(),
                    Body  = Serializer.DeserializeObject(reader)
                };
                items.Add(item);
            }
            return(items.ToArray());
        }
Пример #2
0
        public object Deserialize(IByteBuffer buffer, SerializationMetadata metadata)
        {
            var length = buffer.ReadIntLE();

            var items = new List <TContainerMessage>();

            for (var i = 0; i < length; i++)
            {
                var item = new TContainerMessage
                {
                    MsgId = buffer.ReadLongLE(),
                    SeqNo = buffer.ReadIntLE(),
                    Bytes = buffer.ReadIntLE(),
                };
                item.Body = Serializer.Deserialize(buffer.ReadSlice(item.Bytes));
                items.Add(item);
            }

            return(items.ToArray());
        }