コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DataStorageConfiguration"/> class.
        /// </summary>
        /// <param name="reader">The reader.</param>
        internal DataStorageConfiguration(IBinaryRawReader reader)
        {
            Debug.Assert(reader != null);

            StoragePath                 = reader.ReadString();
            CheckpointFrequency         = reader.ReadLongAsTimespan();
            CheckpointThreads           = reader.ReadInt();
            LockWaitTime                = reader.ReadLongAsTimespan();
            WalHistorySize              = reader.ReadInt();
            WalSegments                 = reader.ReadInt();
            WalSegmentSize              = reader.ReadInt();
            WalPath                     = reader.ReadString();
            WalArchivePath              = reader.ReadString();
            WalMode                     = (WalMode)reader.ReadInt();
            WalThreadLocalBufferSize    = reader.ReadInt();
            WalFlushFrequency           = reader.ReadLongAsTimespan();
            WalFsyncDelayNanos          = reader.ReadLong();
            WalRecordIteratorBufferSize = reader.ReadInt();
            AlwaysWriteFullPages        = reader.ReadBoolean();
            MetricsEnabled              = reader.ReadBoolean();
            MetricsSubIntervalCount     = reader.ReadInt();
            MetricsRateTimeInterval     = reader.ReadLongAsTimespan();
            CheckpointWriteOrder        = (CheckpointWriteOrder)reader.ReadInt();
            WriteThrottlingEnabled      = reader.ReadBoolean();
            WalCompactionEnabled        = reader.ReadBoolean();
            MaxWalArchiveSize           = reader.ReadLong();

#pragma warning disable 618
            SystemRegionInitialSize = reader.ReadLong();
            SystemRegionMaxSize     = reader.ReadLong();
#pragma warning restore 618
            PageSize         = reader.ReadInt();
            ConcurrencyLevel = reader.ReadInt();
            WalAutoArchiveAfterInactivity = reader.ReadLongAsTimespan();
            WalForceArchiveTimeout        = reader.ReadLongAsTimespan();
            CheckpointReadLockTimeout     = reader.ReadTimeSpanNullable();
            WalPageCompression            = (DiskPageCompression)reader.ReadInt();
            WalPageCompressionLevel       = reader.ReadIntNullable();

            var count = reader.ReadInt();

            if (count > 0)
            {
                DataRegionConfigurations = Enumerable.Range(0, count)
                                           .Select(x => new DataRegionConfiguration(reader))
                                           .ToArray();
            }

            if (reader.ReadBoolean())
            {
                DefaultDataRegionConfiguration = new DataRegionConfiguration(reader);
            }

            if (reader.ReadBoolean())
            {
                SystemDataRegionConfiguration = new SystemDataRegionConfiguration(reader);
            }
        }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DataStorageConfiguration"/> class.
        /// </summary>
        /// <param name="reader">The reader.</param>
        internal DataStorageConfiguration(IBinaryRawReader reader)
        {
            Debug.Assert(reader != null);

            StoragePath              = reader.ReadString();
            CheckpointFrequency      = reader.ReadLongAsTimespan();
            CheckpointPageBufferSize = reader.ReadLong();
            CheckpointThreads        = reader.ReadInt();
            LockWaitTime             = reader.ReadLongAsTimespan();
            WalHistorySize           = reader.ReadInt();
            WalSegments              = reader.ReadInt();
            WalSegmentSize           = reader.ReadInt();
            WalPath                     = reader.ReadString();
            WalArchivePath              = reader.ReadString();
            WalMode                     = (WalMode)reader.ReadInt();
            WalThreadLocalBufferSize    = reader.ReadInt();
            WalFlushFrequency           = reader.ReadLongAsTimespan();
            WalFsyncDelayNanos          = reader.ReadLong();
            WalRecordIteratorBufferSize = reader.ReadInt();
            AlwaysWriteFullPages        = reader.ReadBoolean();
            MetricsEnabled              = reader.ReadBoolean();
            MetricsSubIntervalCount     = reader.ReadInt();
            MetricsRateTimeInterval     = reader.ReadLongAsTimespan();
            CheckpointWriteOrder        = (CheckpointWriteOrder)reader.ReadInt();
            WriteThrottlingEnabled      = reader.ReadBoolean();

            SystemRegionInitialSize = reader.ReadLong();
            SystemRegionMaxSize     = reader.ReadLong();
            PageSize         = reader.ReadInt();
            ConcurrencyLevel = reader.ReadInt();

            var count = reader.ReadInt();

            if (count > 0)
            {
                DataRegionConfigurations = Enumerable.Range(0, count)
                                           .Select(x => new DataRegionConfiguration(reader))
                                           .ToArray();
            }

            if (reader.ReadBoolean())
            {
                DefaultDataRegionConfiguration = new DataRegionConfiguration(reader);
            }
        }