bitbucket.org/number571/tendermint@v0.8.14/config/db.go (about) 1 package config 2 3 import ( 4 "bitbucket.org/number571/tendermint/libs/log" 5 "bitbucket.org/number571/tendermint/libs/service" 6 db "github.com/tendermint/tm-db" 7 ) 8 9 // ServiceProvider takes a config and a logger and returns a ready to go Node. 10 type ServiceProvider func(*Config, log.Logger) (service.Service, error) 11 12 // DBContext specifies config information for loading a new DB. 13 type DBContext struct { 14 ID string 15 Config *Config 16 } 17 18 // DBProvider takes a DBContext and returns an instantiated DB. 19 type DBProvider func(*DBContext) (db.DB, error) 20 21 // DefaultDBProvider returns a database using the DBBackend and DBDir 22 // specified in the Config. 23 func DefaultDBProvider(ctx *DBContext) (db.DB, error) { 24 dbType := db.BackendType(ctx.Config.DBBackend) 25 return db.NewDB(ctx.ID, dbType, ctx.Config.DBDir()) 26 }