kubo/core/datastore.go
Brian Tiger Chow 7968b45e58 vendor dependencies with godep
dependencies are vendored into Godeps/_workspace and commit versions are
recorded in Godeps.json

update datastore to e89f0511
update go.crypto
2014-09-09 22:39:42 -07:00

32 lines
831 B
Go

package core
import (
"fmt"
ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/datastore.go"
lds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/datastore.go/leveldb"
config "github.com/jbenet/go-ipfs/config"
)
func makeDatastore(cfg *config.Datastore) (ds.Datastore, error) {
if cfg == nil || len(cfg.Type) == 0 {
return nil, fmt.Errorf("config datastore.type required")
}
switch cfg.Type {
case "leveldb":
return makeLevelDBDatastore(cfg)
case "memory":
return ds.NewMapDatastore(), nil
}
return nil, fmt.Errorf("Unknown datastore type: %s", cfg.Type)
}
func makeLevelDBDatastore(cfg *config.Datastore) (ds.Datastore, error) {
if len(cfg.Path) == 0 {
return nil, fmt.Errorf("config datastore.path required for leveldb")
}
return lds.NewDatastore(cfg.Path, nil)
}