-
Notifications
You must be signed in to change notification settings - Fork 0
/
repo.go
36 lines (27 loc) · 753 Bytes
/
repo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package repo
import (
"errors"
"io"
ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore"
config "github.com/ipfs/go-ipfs/repo/config"
)
var (
ErrApiNotRunning = errors.New("api not running")
)
type Repo interface {
Config() (*config.Config, error)
SetConfig(*config.Config) error
SetConfigKey(key string, value interface{}) error
GetConfigKey(key string) (interface{}, error)
Datastore() Datastore
GetStorageUsage() (uint64, error)
// SetAPIAddr sets the API address in the repo.
SetAPIAddr(addr string) error
io.Closer
}
// Datastore is the interface required from a datastore to be
// acceptable to FSRepo.
type Datastore interface {
ds.Batching // should be threadsafe, just be careful
io.Closer
}