errservice.go 1.06 KB
Newer Older
Jeromy's avatar
Jeromy committed
1 2 3 4 5
package merkledag

import (
	"context"

Jeromy's avatar
Jeromy committed
6 7
	cid "github.com/ipfs/go-cid"
	ipld "github.com/ipfs/go-ipld-format"
Jeromy's avatar
Jeromy committed
8 9 10 11 12 13 14 15 16
)

// ErrorService implements ipld.DAGService, returning 'Err' for every call.
type ErrorService struct {
	Err error
}

var _ ipld.DAGService = (*ErrorService)(nil)

17
// Add returns the cs.Err.
Jeromy's avatar
Jeromy committed
18 19 20 21
func (cs *ErrorService) Add(ctx context.Context, nd ipld.Node) error {
	return cs.Err
}

22
// AddMany returns the cs.Err.
Jeromy's avatar
Jeromy committed
23 24 25 26
func (cs *ErrorService) AddMany(ctx context.Context, nds []ipld.Node) error {
	return cs.Err
}

27
// Get returns the cs.Err.
28
func (cs *ErrorService) Get(ctx context.Context, c cid.Cid) (ipld.Node, error) {
Jeromy's avatar
Jeromy committed
29 30 31
	return nil, cs.Err
}

32
// GetMany many returns the cs.Err.
33
func (cs *ErrorService) GetMany(ctx context.Context, cids []cid.Cid) <-chan *ipld.NodeOption {
Jeromy's avatar
Jeromy committed
34 35 36 37 38
	ch := make(chan *ipld.NodeOption)
	close(ch)
	return ch
}

39
// Remove returns the cs.Err.
40
func (cs *ErrorService) Remove(ctx context.Context, c cid.Cid) error {
Jeromy's avatar
Jeromy committed
41 42 43
	return cs.Err
}

44
// RemoveMany returns the cs.Err.
45
func (cs *ErrorService) RemoveMany(ctx context.Context, cids []cid.Cid) error {
Jeromy's avatar
Jeromy committed
46 47
	return cs.Err
}