Esempio n. 1
0
        public static TItem FromStream <TItem>(Stream stream)
        {
            var reader = new BinaryReader(stream);

            var itemCount = reader.ReadInt32();

            if (itemCount != 1)
            {
                var msg = $"Waiting for one object, found {itemCount}";
                throw new StreamingException(msg);
            }

            var useProtocolBuffers = reader.ReadBoolean();
            var useCompression     = reader.ReadBoolean();

            reader.ReadDouble();// the rank is ignored for single objects
            var dataSize = reader.ReadInt32();
            var data     = reader.ReadBytes(dataSize);

            var mode = SerializationMode.Json;

            if (useProtocolBuffers)
            {
                mode = SerializationMode.ProtocolBuffers;
            }

            return(SerializationHelper.ObjectFromBytes <TItem>(data, mode, useCompression));
        }
Esempio n. 2
0
        public CollectionSchema Clone()
        {
            var bytes = SerializationHelper.ObjectToBytes(this, SerializationMode.ProtocolBuffers, false);

            return(SerializationHelper.ObjectFromBytes <CollectionSchema>(bytes, SerializationMode.ProtocolBuffers,
                                                                          false));
        }