public MetaDataCache(MetadataTracker <T> tracker, OneOf <T, OneOf.Types.None> snapshot, Action <T> updater, Func <T>?factory = null) : base(factory) { this.tracker = tracker; this.snapshot = snapshot; this.updater = updater; }
public CheckpointStore(string path) { db = RocksDb.OpenReadOnly(new DbOptions(), path, RocksDbStore.ColumnFamilies, false); var metadataColumnHandle = db.GetColumnFamily(RocksDbStore.METADATA_FAMILY); blocks = new DataTracker <UInt256, BlockState>(db, RocksDbStore.BLOCK_FAMILY); transactions = new DataTracker <UInt256, TransactionState>(db, RocksDbStore.TX_FAMILY); accounts = new DataTracker <UInt160, AccountState>(db, RocksDbStore.ACCOUNT_FAMILY); _unspentCoins = new DataTracker <UInt256, UnspentCoinState>(db, RocksDbStore.UNSPENT_COIN_FAMILY); spentCoins = new DataTracker <UInt256, SpentCoinState>(db, RocksDbStore.SPENT_COIN_FAMILY); validators = new DataTracker <ECPoint, ValidatorState>(db, RocksDbStore.VALIDATOR_FAMILY); assets = new DataTracker <UInt256, AssetState>(db, RocksDbStore.ASSET_FAMILY); contracts = new DataTracker <UInt160, ContractState>(db, RocksDbStore.CONTRACT_FAMILY); storages = new DataTracker <StorageKey, StorageItem>(db, RocksDbStore.STORAGE_FAMILY); headerHashList = new DataTracker <UInt32Wrapper, HeaderHashList>(db, RocksDbStore.HEADER_HASH_LIST_FAMILY); validatorsCount = new MetadataTracker <ValidatorsCountState>(db, RocksDbStore.VALIDATORS_COUNT_KEY, metadataColumnHandle); blockHashIndex = new MetadataTracker <HashIndexState>(db, RocksDbStore.CURRENT_BLOCK_KEY, metadataColumnHandle); headerHashIndex = new MetadataTracker <HashIndexState>(db, RocksDbStore.CURRENT_HEADER_KEY, metadataColumnHandle); }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public ConventionDispatcher(ConventionSet conventionSet) { _immediateConventionScope = new ImmediateConventionScope(conventionSet, this); _scope = _immediateConventionScope; Tracker = new MetadataTracker(); }
public MetaDataCache(MetadataTracker <T> tracker, Func <T>?factory = null) : base(factory) { this.tracker = tracker; }