Documentation ¶
Index ¶
- func Init(ctx context.Context, store header.Store, ex header.Exchange, ...) error
- func NewTestStore(ctx context.Context, t *testing.T, head *header.ExtendedHeader) header.Store
- type Option
- type Parameters
- type Store
- func (s *Store) Append(ctx context.Context, headers ...*header.ExtendedHeader) (int, error)
- func (s *Store) Get(ctx context.Context, hash tmbytes.HexBytes) (*header.ExtendedHeader, error)
- func (s *Store) GetByHeight(ctx context.Context, height uint64) (*header.ExtendedHeader, error)
- func (s *Store) GetRangeByHeight(ctx context.Context, from, to uint64) ([]*header.ExtendedHeader, error)
- func (s *Store) GetVerifiedRange(ctx context.Context, from *header.ExtendedHeader, to uint64) ([]*header.ExtendedHeader, error)
- func (s *Store) Has(ctx context.Context, hash tmbytes.HexBytes) (bool, error)
- func (s *Store) Head(ctx context.Context) (*header.ExtendedHeader, error)
- func (s *Store) Height() uint64
- func (s *Store) Init(ctx context.Context, initial *header.ExtendedHeader) error
- func (s *Store) Start(context.Context) error
- func (s *Store) Stop(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Init ¶
Init ensures a Store is initialized. If it is not already initialized, it initializes the Store by requesting the header with the given hash.
func NewTestStore ¶
NewTestStore creates initialized and started in memory header Store which is useful for testing.
Types ¶
type Option ¶ added in v0.5.0
type Option func(*Parameters)
Option is the functional option that is applied to the store instance to configure store parameters.
func WithIndexCacheSize ¶ added in v0.5.0
WithIndexCacheSize is a functional option that configures the `IndexCacheSize` parameter.
func WithStoreCacheSize ¶ added in v0.5.0
WithStoreCacheSize is a functional option that configures the `StoreCacheSize` parameter.
func WithWriteBatchSize ¶ added in v0.5.0
WithWriteBatchSize is a functional option that configures the `WriteBatchSize` parameter.
type Parameters ¶ added in v0.5.0
type Parameters struct { // StoreCacheSize defines the maximum amount of entries in the Header Store cache. StoreCacheSize int // IndexCacheSize defines the maximum amount of entries in the Height to Hash index cache. IndexCacheSize int // WriteBatchSize defines the size of the batched header write. // Headers are written in batches not to thrash the underlying Datastore with writes. WriteBatchSize int }
Parameters is the set of parameters that must be configured for the store.
func DefaultParameters ¶ added in v0.5.0
func DefaultParameters() *Parameters
DefaultParameters returns the default params to configure the store.
func (*Parameters) Validate ¶ added in v0.5.0
func (p *Parameters) Validate() error
type Store ¶ added in v0.5.0
type Store struct { Params *Parameters // contains filtered or unexported fields }
store implements the Store interface for ExtendedHeaders over Datastore.
func NewStore ¶
NewStore constructs a Store over datastore. The datastore must have a head there otherwise Start will error. For first initialization of Store use NewStoreWithHead.
func NewStoreWithHead ¶
func NewStoreWithHead( ctx context.Context, ds datastore.Batching, head *header.ExtendedHeader, opts ...Option, ) (*Store, error)
NewStoreWithHead initiates a new Store and forcefully sets a given trusted header as head.
func (*Store) GetByHeight ¶ added in v0.5.0
func (*Store) GetRangeByHeight ¶ added in v0.5.0
func (*Store) GetVerifiedRange ¶ added in v0.5.0
func (s *Store) GetVerifiedRange( ctx context.Context, from *header.ExtendedHeader, to uint64, ) ([]*header.ExtendedHeader, error)