Beispiel #1
0
 /// <summary>
 /// Constructor to create a snapshot
 /// </summary>
 private RocksDbStore(
     RocksDbStore rocksDbStore)
 {
     m_storeDirectory = rocksDbStore.m_storeDirectory;
     m_defaults       = rocksDbStore.m_defaults;
     m_columns        = rocksDbStore.m_columns;
     m_store          = rocksDbStore.m_store;
     m_snapshot       = m_store.CreateSnapshot();
     m_readOptions    = new ReadOptions().SetSnapshot(m_snapshot);
 }
Beispiel #2
0
        public Snapshot(Store store, RocksDb db)
        {
            this.store    = store;
            this.db       = db;
            this.snapshot = db.CreateSnapshot();

            options = new ReadOptions();
            options.SetFillCache(false);
            options.SetSnapshot(snapshot);
        }
Beispiel #3
0
        public Snapshot(RocksDb db)
        {
            this.db       = db;
            this.snapshot = db.CreateSnapshot();
            this.batch    = new WriteBatch();

            options = new ReadOptions();
            options.SetFillCache(false);
            options.SetSnapshot(snapshot);
        }
Beispiel #4
0
 public Snapshot(RocksDb db, ColumnFamilyHandle columnFamily)
 {
     this.db           = db;
     this.columnFamily = columnFamily;
     snapshot          = db.CreateSnapshot();
     readOptions       = new ReadOptions()
                         .SetSnapshot(snapshot)
                         .SetFillCache(false);
     writeBatch = new WriteBatch();
 }
            public Snapshot(RocksDb db)
            {
                this.db = db;
                snapshot = db.CreateSnapshot();
                readOptions = new ReadOptions().SetSnapshot(snapshot).SetFillCache(false);
                writeBatch = new WriteBatch();

                Blocks = new DataCache<UInt256, BlockState>(db, BLOCK_FAMILY, readOptions, writeBatch);
                Transactions = new DataCache<UInt256, TransactionState>(db, TX_FAMILY, readOptions, writeBatch);
                Accounts = new DataCache<UInt160, AccountState>(db, ACCOUNT_FAMILY, readOptions, writeBatch);
                UnspentCoins = new DataCache<UInt256, UnspentCoinState>(db, UNSPENT_COIN_FAMILY, readOptions, writeBatch);
                SpentCoins = new DataCache<UInt256, SpentCoinState>(db, SPENT_COIN_FAMILY, readOptions, writeBatch);
                Validators = new DataCache<ECPoint, ValidatorState>(db, VALIDATOR_FAMILY, readOptions, writeBatch);
                Assets = new DataCache<UInt256, AssetState>(db, ASSET_FAMILY, readOptions, writeBatch);
                Contracts = new DataCache<UInt160, ContractState>(db, CONTRACT_FAMILY, readOptions, writeBatch);
                Storages = new DataCache<StorageKey, StorageItem>(db, STORAGE_FAMILY, readOptions, writeBatch);
                HeaderHashList = new DataCache<UInt32Wrapper, HeaderHashList>(db, HEADER_HASH_LIST_FAMILY, readOptions, writeBatch);
                ValidatorsCount = new MetaDataCache<ValidatorsCountState>(db, VALIDATORS_COUNT_KEY, readOptions, writeBatch);
                BlockHashIndex = new MetaDataCache<HashIndexState>(db, CURRENT_BLOCK_KEY, readOptions, writeBatch);
                HeaderHashIndex = new MetaDataCache<HashIndexState>(db, CURRENT_HEADER_KEY, readOptions, writeBatch);
            }
Beispiel #6
0
 private ReadOptions RocksDbSnapshot() => rocksDbReadOptions.SetSnapshot(database.CreateSnapshot());