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  }