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  }