errservice.go 1.07 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.
Jeromy's avatar
Jeromy committed
28 29 30 31
func (cs *ErrorService) Get(ctx context.Context, c *cid.Cid) (ipld.Node, error) {
	return nil, cs.Err
}

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

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

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