github.com/celestiaorg/celestia-node@v0.15.0-beta.1/share/eds/cache/noop.go (about) 1 package cache 2 3 import ( 4 "context" 5 "io" 6 7 "github.com/filecoin-project/dagstore" 8 "github.com/filecoin-project/dagstore/shard" 9 ) 10 11 var _ Cache = (*NoopCache)(nil) 12 13 // NoopCache implements noop version of Cache interface 14 type NoopCache struct{} 15 16 func (n NoopCache) Get(shard.Key) (Accessor, error) { 17 return nil, errCacheMiss 18 } 19 20 func (n NoopCache) GetOrLoad( 21 context.Context, shard.Key, 22 func(context.Context, shard.Key) (Accessor, error), 23 ) (Accessor, error) { 24 return NoopAccessor{}, nil 25 } 26 27 func (n NoopCache) Remove(shard.Key) error { 28 return nil 29 } 30 31 func (n NoopCache) EnableMetrics() error { 32 return nil 33 } 34 35 var _ Accessor = (*NoopAccessor)(nil) 36 37 // NoopAccessor implements noop version of Accessor interface 38 type NoopAccessor struct{} 39 40 func (n NoopAccessor) Blockstore() (dagstore.ReadBlockstore, error) { 41 return nil, nil 42 } 43 44 func (n NoopAccessor) Reader() io.Reader { 45 return nil 46 } 47 48 func (n NoopAccessor) Close() error { 49 return nil 50 }