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 }