mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-29 12:41:44 +00:00
Add support for levigo bindings
This commit is contained in:
14
db.go
14
db.go
@ -13,16 +13,24 @@ type DB interface {
|
||||
Delete([]byte)
|
||||
DeleteSync([]byte)
|
||||
Close()
|
||||
NewBatch() Batch
|
||||
|
||||
// For debugging
|
||||
Print()
|
||||
}
|
||||
|
||||
type Batch interface {
|
||||
Set(key, value []byte)
|
||||
Delete(key []byte)
|
||||
Write()
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// Database types
|
||||
const DBBackendMemDB = "memdb"
|
||||
const DBBackendLevelDB = "leveldb"
|
||||
const DBBackendLevelDB2 = "leveldb2"
|
||||
|
||||
func NewDB(name string, backend string, dir string) DB {
|
||||
switch backend {
|
||||
@ -35,6 +43,12 @@ func NewDB(name string, backend string, dir string) DB {
|
||||
PanicCrisis(err)
|
||||
}
|
||||
return db
|
||||
case DBBackendLevelDB2:
|
||||
db, err := NewLevelDB2(path.Join(dir, name+".db"))
|
||||
if err != nil {
|
||||
PanicCrisis(err)
|
||||
}
|
||||
return db
|
||||
default:
|
||||
PanicSanity(Fmt("Unknown DB backend: %v", backend))
|
||||
}
|
||||
|
Reference in New Issue
Block a user