Example #1
0
 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);
             }
         }
     }
 }
Example #2
0
        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();
        }
Example #3
0
        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();
        }
Example #4
0
 public SnapShot(RocksDbSharp.RocksDb db)
 {
     this.db = db;
 }
Example #5
0
 public void Close()
 {
     this.db.Dispose();
     this.db = null;
 }