private void LoadPrunedTip(RocksDbSharp.RocksDb rocksdb) { if (this.PrunedTip == null) { lock (this.blockRepository.Locker) { byte[] row = rocksdb.Get(DBH.Key(BlockRepository.CommonTableName, prunedTipKey)); if (row != null) { this.PrunedTip = this.dataStoreSerializer.Deserialize <HashHeightPair>(row); } } } }
public void OpenRead(string path) { if (db != null) { throw new Exception("already open a db."); } this.defaultWriteOpPtr = RocksDbSharp.Native.Instance.rocksdb_writeoptions_create(); RocksDbSharp.DbOptions option = new RocksDbSharp.DbOptions(); option.SetCreateIfMissing(false); option.SetCompression(RocksDbSharp.CompressionTypeEnum.rocksdb_snappy_compression); this.db = RocksDbSharp.RocksDb.OpenReadOnly(option, path, true); snapshotLast = CreateSnapInfo(); snapshotLast.AddRef(); }
public void Open(string path, DBCreateOption createOption = null) { if (db != null) { throw new Exception("already open a db."); } this.defaultWriteOpPtr = RocksDbSharp.Native.Instance.rocksdb_writeoptions_create(); RocksDbSharp.DbOptions option = new RocksDbSharp.DbOptions(); option.SetCreateIfMissing(true); option.SetCompression(RocksDbSharp.CompressionTypeEnum.rocksdb_snappy_compression); this.db = RocksDbSharp.RocksDb.Open(option, path); snapshotLast = CreateSnapInfo(); if (snapshotLast.DataHeight == 0) { InitFirstBlock(createOption); } snapshotLast.AddRef(); }
public SnapShot(RocksDbSharp.RocksDb db) { this.db = db; }
public void Close() { this.db.Dispose(); this.db = null; }