Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
ErrorEmptyHash indicates empty hash
Functions ¶
This section is empty.
Types ¶
type Batch ¶
Batch groups together multiple Index operations to be performed at the same time. NOTE: Batch is NOT thread-safe and must not be modified after starting its execution.
func (*Batch) Add ¶
Add or update an entry for the given result.Index.
type IndexerService ¶
type IndexerService struct { cmn.BaseService // contains filtered or unexported fields }
IndexerService connects event bus and transaction indexer together in order to index transactions coming from event bus.
func NewIndexerService ¶
func NewIndexerService(idr TxIndexer, eventBus *types.EventBus) *IndexerService
NewIndexerService returns a new service instance.
func (*IndexerService) OnStart ¶
func (is *IndexerService) OnStart() error
OnStart implements cmn.Service by subscribing for all transactions and indexing them by tags.
func (*IndexerService) OnStop ¶
func (is *IndexerService) OnStop()
OnStop implements cmn.Service by unsubscribing from all transactions.
type TxIndexer ¶
type TxIndexer interface { // AddBatch analyzes, indexes and stores a batch of transactions. AddBatch(b *Batch) error // Index analyzes, indexes and stores a single transaction. Index(result *types.TxResult) error // Get returns the transaction specified by hash or nil if the transaction is not indexed // or stored. Get(hash []byte) (*types.TxResult, error) // Search allows you to query for transactions. Search(q *query.Query) ([]*types.TxResult, error) }
TxIndexer interface defines methods to index and search transactions.