Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrorEmptyHash = errors.New("Transaction hash cannot be empty")
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.
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.
Click to show internal directories.
Click to hide internal directories.