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)); }
public CollectionSchema Clone() { var bytes = SerializationHelper.ObjectToBytes(this, SerializationMode.ProtocolBuffers, false); return(SerializationHelper.ObjectFromBytes <CollectionSchema>(bytes, SerializationMode.ProtocolBuffers, false)); }