github.com/bcskill/bcschain/v3@v3.4.9-beta2/ethdb/mock/mock.go (about)

     1  package mock
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/bcskill/bcschain/v3/ethdb"
     7  )
     8  
     9  var _ ethdb.Segment = (*Segment)(nil)
    10  
    11  type Segment struct {
    12  	CloseFunc    func() error
    13  	NameFunc     func() string
    14  	PathFunc     func() string
    15  	HasFunc      func(key []byte) (bool, error)
    16  	GetFunc      func(key []byte) ([]byte, error)
    17  	IteratorFunc func() ethdb.SegmentIterator
    18  }
    19  
    20  func (m *Segment) Close() error                    { return m.CloseFunc() }
    21  func (m *Segment) Name() string                    { return m.NameFunc() }
    22  func (m *Segment) Path() string                    { return m.PathFunc() }
    23  func (m *Segment) Has(key []byte) (bool, error)    { return m.HasFunc(key) }
    24  func (m *Segment) Get(key []byte) ([]byte, error)  { return m.GetFunc(key) }
    25  func (m *Segment) Iterator() ethdb.SegmentIterator { return m.IteratorFunc() }
    26  
    27  var _ ethdb.MutableSegment = (*MutableSegment)(nil)
    28  
    29  type MutableSegment struct {
    30  	Segment
    31  	PutFunc    func(key, value []byte) error
    32  	DeleteFunc func(key []byte) error
    33  }
    34  
    35  func (m *MutableSegment) Put(key, value []byte) error { return m.PutFunc(key, value) }
    36  func (m *MutableSegment) Delete(key []byte) error     { return m.DeleteFunc(key) }
    37  
    38  var _ ethdb.SegmentOpener = (*SegmentOpener)(nil)
    39  
    40  type SegmentOpener struct {
    41  	ListSegmentNamesFunc func(path, table string) ([]string, error)
    42  	OpenSegmentFunc      func(table, name, path string) (ethdb.Segment, error)
    43  }
    44  
    45  func (m *SegmentOpener) ListSegmentNames(path, table string) ([]string, error) {
    46  	return m.ListSegmentNamesFunc(path, table)
    47  }
    48  
    49  func (m *SegmentOpener) OpenSegment(table, name, path string) (ethdb.Segment, error) {
    50  	return m.OpenSegmentFunc(table, name, path)
    51  }
    52  
    53  var _ ethdb.SegmentCompactor = (*SegmentCompactor)(nil)
    54  
    55  type SegmentCompactor struct {
    56  	CompactSegmentFunc   func(ctx context.Context, table string, s *ethdb.LDBSegment) (ethdb.Segment, error)
    57  	UncompactSegmentFunc func(ctx context.Context, table string, s ethdb.Segment) (*ethdb.LDBSegment, error)
    58  }
    59  
    60  func (m *SegmentCompactor) CompactSegment(ctx context.Context, table string, s *ethdb.LDBSegment) (ethdb.Segment, error) {
    61  	return m.CompactSegmentFunc(ctx, table, s)
    62  }
    63  
    64  func (m *SegmentCompactor) UncompactSegment(ctx context.Context, table string, s ethdb.Segment) (*ethdb.LDBSegment, error) {
    65  	return m.UncompactSegmentFunc(ctx, table, s)
    66  }