Example #1
0
        // Deserialization
        public Int64 Deserialize()
        {
            // Read info about storage format
            Int64StorageFormats format = (Int64StorageFormats)SerializerStorage.ReadStorageFormatId(Int64StorageBase.FormatIdSizeInBits);

            // Is it default value
            if (format == Int64StorageFormats.DefaultValue)
            {
                return(0);
            }

            if (format == Int64StorageFormats.ValueInConfig)
            {
                ValueInConfig valInConfig = new ValueInConfig();
                valInConfig.FormatConfig.Bits = SerializerStorage.ReadStorageFormatData(ValueInConfig.UsedConfigBitsForValue);
                return((Int64)valInConfig.Value);
            }

            // Value stored in PackedData
            ValueInDataStream valInDataStream = new ValueInDataStream();

            valInDataStream.FormatConfig.Bits = SerializerStorage.ReadStorageFormatData(ValueInDataStream.UsedConfigBitsForCase);
            byte[] encodedValue = SerializerStorage.ReadPackedData(valInDataStream.PackedDataSize);

            // Return decoded value
            return(BitToolkit.ConvertByteArrayToInt64(encodedValue));
        }
Example #2
0
 // Constructor that requires config case value
 public Int64StorageBase(Int64StorageFormats confCase, byte usedConfigBits) : base((byte)confCase, FormatIdSizeInBits, usedConfigBits)
 {
 }