mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-06 03:52:15 +00:00
No global config
This commit is contained in:
parent
a7878f1d0d
commit
31fdd21c7e
13
config.go
13
config.go
@ -1,13 +0,0 @@
|
|||||||
package db
|
|
||||||
|
|
||||||
import (
|
|
||||||
cfg "github.com/tendermint/go-config"
|
|
||||||
)
|
|
||||||
|
|
||||||
var config cfg.Config = nil
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
cfg.OnConfig(func(newConfig cfg.Config) {
|
|
||||||
config = newConfig
|
|
||||||
})
|
|
||||||
}
|
|
16
db.go
16
db.go
@ -24,27 +24,19 @@ type DB interface {
|
|||||||
const DBBackendMemDB = "memdb"
|
const DBBackendMemDB = "memdb"
|
||||||
const DBBackendLevelDB = "leveldb"
|
const DBBackendLevelDB = "leveldb"
|
||||||
|
|
||||||
var dbs = NewCMap()
|
func NewDB(name string, backend string, dir string) DB {
|
||||||
|
switch backend {
|
||||||
func GetDB(name string) DB {
|
|
||||||
db := dbs.Get(name)
|
|
||||||
if db != nil {
|
|
||||||
return db.(DB)
|
|
||||||
}
|
|
||||||
switch config.GetString("db_backend") {
|
|
||||||
case DBBackendMemDB:
|
case DBBackendMemDB:
|
||||||
db := NewMemDB()
|
db := NewMemDB()
|
||||||
dbs.Set(name, db)
|
|
||||||
return db
|
return db
|
||||||
case DBBackendLevelDB:
|
case DBBackendLevelDB:
|
||||||
db, err := NewLevelDB(path.Join(config.GetString("db_dir"), name+".db"))
|
db, err := NewLevelDB(path.Join(dir, name+".db"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
PanicCrisis(err)
|
PanicCrisis(err)
|
||||||
}
|
}
|
||||||
dbs.Set(name, db)
|
|
||||||
return db
|
return db
|
||||||
default:
|
default:
|
||||||
PanicSanity(Fmt("Unknown DB backend: %v", config.GetString("db_backend")))
|
PanicSanity(Fmt("Unknown DB backend: %v", backend))
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user