processor

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2023 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArgHdrInterceptorProcessor

type ArgHdrInterceptorProcessor struct {
	Headers        dataRetriever.HeadersPool
	HdrValidator   process.HeaderValidator
	BlockBlackList process.TimeCacher
}

ArgHdrInterceptorProcessor is the argument for the interceptor processor used for headers (shard, meta and so on)

type ArgMiniblockInterceptorProcessor

type ArgMiniblockInterceptorProcessor struct {
	MiniblockCache   storage.Cacher
	Marshalizer      marshal.Marshalizer
	Hasher           hashing.Hasher
	ShardCoordinator sharding.Coordinator
	WhiteListHandler process.WhiteListHandler
}

ArgMiniblockInterceptorProcessor is the argument for the interceptor processor used for miniblocks

type ArgTxInterceptorProcessor

type ArgTxInterceptorProcessor struct {
	ShardedDataCache dataRetriever.ShardedDataCacherNotifier
	TxValidator      process.TxValidator
}

ArgTxInterceptorProcessor is the argument for the interceptor processor used for transactions (balance txs, smart contract results, reward and so on)

type HdrInterceptorProcessor

type HdrInterceptorProcessor struct {
	// contains filtered or unexported fields
}

HdrInterceptorProcessor is the processor used when intercepting headers (shard headers, meta headers) structs which satisfy HeaderHandler interface.

func NewHdrInterceptorProcessor

func NewHdrInterceptorProcessor(argument *ArgHdrInterceptorProcessor) (*HdrInterceptorProcessor, error)

NewHdrInterceptorProcessor creates a new TxInterceptorProcessor instance

func (*HdrInterceptorProcessor) IsInterfaceNil

func (hip *HdrInterceptorProcessor) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*HdrInterceptorProcessor) RegisterHandler

func (hip *HdrInterceptorProcessor) RegisterHandler(handler func(topic string, hash []byte, data interface{}))

RegisterHandler registers a callback function to be notified of incoming headers

func (*HdrInterceptorProcessor) Save

Save will save the received data into the headers cacher as hash<->[plain header structure] and in headersNonces as nonce<->hash

func (*HdrInterceptorProcessor) Validate

Validate checks if the intercepted data can be processed

type InterceptedTransactionHandler

type InterceptedTransactionHandler interface {
	SenderShardId() uint32
	ReceiverShardId() uint32
	Nonce() uint64
	SenderAddress() []byte
	Fee() *big.Int
	Transaction() data.TransactionHandler
}

InterceptedTransactionHandler defines an intercepted data wrapper over transaction handler that has receiver and sender shard getters

type MiniblockInterceptorProcessor

type MiniblockInterceptorProcessor struct {
	// contains filtered or unexported fields
}

MiniblockInterceptorProcessor is the processor used when intercepting miniblocks

func NewMiniblockInterceptorProcessor

func NewMiniblockInterceptorProcessor(argument *ArgMiniblockInterceptorProcessor) (*MiniblockInterceptorProcessor, error)

NewMiniblockInterceptorProcessor creates a new MiniblockInterceptorProcessor instance

func (*MiniblockInterceptorProcessor) IsInterfaceNil

func (mip *MiniblockInterceptorProcessor) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*MiniblockInterceptorProcessor) RegisterHandler

func (mip *MiniblockInterceptorProcessor) RegisterHandler(handler func(topic string, hash []byte, data interface{}))

RegisterHandler registers a callback function to be notified of incoming miniBlocks

func (*MiniblockInterceptorProcessor) Save

Save will save the received miniblocks inside the miniblock cacher after a new validation round that will be done on each miniblock

func (*MiniblockInterceptorProcessor) Validate

Validate checks if the intercepted data can be processed It returns nil as a body might consist of multiple miniblocks Since some might be valid and others not, we rather do the checking when we iterate the slice for processing as it is optimal to do so

type ShardedPool

type ShardedPool interface {
	AddData(key []byte, data interface{}, sizeInBytes int, cacheID string)
}

ShardedPool is a perspective of the sharded data pool

type TrieNodeInterceptorProcessor

type TrieNodeInterceptorProcessor struct {
	// contains filtered or unexported fields
}

TrieNodeInterceptorProcessor is the processor used when intercepting trie nodes

func NewTrieNodesInterceptorProcessor

func NewTrieNodesInterceptorProcessor(interceptedNodes storage.Cacher) (*TrieNodeInterceptorProcessor, error)

NewTrieNodesInterceptorProcessor creates a new instance of TrieNodeInterceptorProcessor

func (*TrieNodeInterceptorProcessor) IsInterfaceNil

func (tnip *TrieNodeInterceptorProcessor) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*TrieNodeInterceptorProcessor) RegisterHandler

func (tnip *TrieNodeInterceptorProcessor) RegisterHandler(_ func(topic string, hash []byte, data interface{}))

RegisterHandler registers a callback function to be notified of incoming trie nodes

func (*TrieNodeInterceptorProcessor) Save

Save saves the intercepted trie node in the intercepted nodes cacher

func (*TrieNodeInterceptorProcessor) Validate

Validate checks if the intercepted data can be processed

type TxInterceptorProcessor

type TxInterceptorProcessor struct {
	// contains filtered or unexported fields
}

TxInterceptorProcessor is the processor used when intercepting transactions (smart contract results, receipts, transaction) structs which satisfy TransactionHandler interface.

func NewTxInterceptorProcessor

func NewTxInterceptorProcessor(argument *ArgTxInterceptorProcessor) (*TxInterceptorProcessor, error)

NewTxInterceptorProcessor creates a new TxInterceptorProcessor instance

func (*TxInterceptorProcessor) IsInterfaceNil

func (txip *TxInterceptorProcessor) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*TxInterceptorProcessor) RegisterHandler

func (txip *TxInterceptorProcessor) RegisterHandler(_ func(topic string, hash []byte, data interface{}))

RegisterHandler registers a callback function to be notified of incoming transactions

func (*TxInterceptorProcessor) Save

Save will save the received data into the cacher

func (*TxInterceptorProcessor) Validate

Validate checks if the intercepted data can be processed

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL