提交 306c7e2e 作者: Brian Tiger Chow

doc(fsrepo)

上级 b54c7de4
...@@ -13,12 +13,14 @@ import ( ...@@ -13,12 +13,14 @@ import (
debugerror "github.com/jbenet/go-ipfs/util/debugerror" debugerror "github.com/jbenet/go-ipfs/util/debugerror"
) )
// FSRepo represents an IPFS FileSystem Repo
type FSRepo struct { type FSRepo struct {
state state state state
path string path string
config *config.Config config *config.Config
} }
// At returns a handle to an FSRepo at the provided |path|.
func At(path string) *FSRepo { func At(path string) *FSRepo {
return &FSRepo{ return &FSRepo{
path: path, path: path,
...@@ -26,6 +28,7 @@ func At(path string) *FSRepo { ...@@ -26,6 +28,7 @@ func At(path string) *FSRepo {
} }
} }
// Init initializes a new FSRepo at the given path with the provided config.
func Init(path string, conf *config.Config) error { func Init(path string, conf *config.Config) error {
if IsInitialized(path) { if IsInitialized(path) {
return nil return nil
...@@ -86,6 +89,8 @@ func (r *FSRepo) Open() error { ...@@ -86,6 +89,8 @@ func (r *FSRepo) Open() error {
return nil return nil
} }
// Config returns the FSRepo's config. Result is undefined if the Repo is not
// Open.
func (r *FSRepo) Config() *config.Config { func (r *FSRepo) Config() *config.Config {
if r.state != opened { if r.state != opened {
panic(fmt.Sprintln("repo is", r.state)) panic(fmt.Sprintln("repo is", r.state))
...@@ -93,6 +98,7 @@ func (r *FSRepo) Config() *config.Config { ...@@ -93,6 +98,7 @@ func (r *FSRepo) Config() *config.Config {
return r.config return r.config
} }
// SetConfig updates the FSRepo's config.
func (r *FSRepo) SetConfig(conf *config.Config) error { func (r *FSRepo) SetConfig(conf *config.Config) error {
if r.state != opened { if r.state != opened {
panic(fmt.Sprintln("repo is", r.state)) panic(fmt.Sprintln("repo is", r.state))
...@@ -108,7 +114,7 @@ func (r *FSRepo) SetConfig(conf *config.Config) error { ...@@ -108,7 +114,7 @@ func (r *FSRepo) SetConfig(conf *config.Config) error {
return nil return nil
} }
// GetConfigKey retrieves only the value of a particular key // GetConfigKey retrieves only the value of a particular key.
func (r *FSRepo) GetConfigKey(key string) (interface{}, error) { func (r *FSRepo) GetConfigKey(key string) (interface{}, error) {
if r.state != opened { if r.state != opened {
return nil, debugerror.Errorf("repo is %s", r.state) return nil, debugerror.Errorf("repo is %s", r.state)
...@@ -124,7 +130,7 @@ func (r *FSRepo) GetConfigKey(key string) (interface{}, error) { ...@@ -124,7 +130,7 @@ func (r *FSRepo) GetConfigKey(key string) (interface{}, error) {
return common.MapGetKV(cfg, key) return common.MapGetKV(cfg, key)
} }
// SetConfigKey writes the value of a particular key // SetConfigKey writes the value of a particular key.
func (r *FSRepo) SetConfigKey(key string, value interface{}) error { func (r *FSRepo) SetConfigKey(key string, value interface{}) error {
if r.state != opened { if r.state != opened {
return debugerror.Errorf("repo is %s", r.state) return debugerror.Errorf("repo is %s", r.state)
...@@ -150,6 +156,7 @@ func (r *FSRepo) SetConfigKey(key string, value interface{}) error { ...@@ -150,6 +156,7 @@ func (r *FSRepo) SetConfigKey(key string, value interface{}) error {
return r.SetConfig(conf) return r.SetConfig(conf)
} }
// Close closes the FSRepo, releasing held resources.
func (r *FSRepo) Close() error { func (r *FSRepo) Close() error {
if r.state != opened { if r.state != opened {
return debugerror.Errorf("repo is %s", r.state) return debugerror.Errorf("repo is %s", r.state)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论