Documentation ¶
Index ¶
- func NewTrieNodeChunksProcessor(arg TrieNodesChunksProcessorArgs) (*trieNodeChunksProcessor, error)
- type ArgHdrInterceptorProcessor
- type ArgMiniblockInterceptorProcessor
- type ArgTxInterceptorProcessor
- type HdrInterceptorProcessor
- func (hip *HdrInterceptorProcessor) IsInterfaceNil() bool
- func (hip *HdrInterceptorProcessor) RegisterHandler(handler func(topic string, hash []byte, data interface{}))
- func (hip *HdrInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, topic string) error
- func (hip *HdrInterceptorProcessor) Validate(data process.InterceptedData, _ core.PeerID) error
- type InterceptedTransactionHandler
- type MiniblockInterceptorProcessor
- func (mip *MiniblockInterceptorProcessor) IsInterfaceNil() bool
- func (mip *MiniblockInterceptorProcessor) RegisterHandler(handler func(topic string, hash []byte, data interface{}))
- func (mip *MiniblockInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, topic string) error
- func (mip *MiniblockInterceptorProcessor) Validate(_ process.InterceptedData, _ core.PeerID) error
- type ShardedPool
- type TrieNodeInterceptorProcessor
- func (tnip *TrieNodeInterceptorProcessor) IsInterfaceNil() bool
- func (tnip *TrieNodeInterceptorProcessor) RegisterHandler(_ func(topic string, hash []byte, data interface{}))
- func (tnip *TrieNodeInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, _ string) error
- func (tnip *TrieNodeInterceptorProcessor) Validate(_ process.InterceptedData, _ core.PeerID) error
- type TrieNodesChunksProcessorArgs
- type TxInterceptorProcessor
- func (txip *TxInterceptorProcessor) IsInterfaceNil() bool
- func (txip *TxInterceptorProcessor) RegisterHandler(_ func(topic string, hash []byte, data interface{}))
- func (txip *TxInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, _ string) error
- func (txip *TxInterceptorProcessor) Validate(data process.InterceptedData, _ core.PeerID) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewTrieNodeChunksProcessor ¶ added in v1.2.4
func NewTrieNodeChunksProcessor(arg TrieNodesChunksProcessorArgs) (*trieNodeChunksProcessor, error)
NewTrieNodeChunksProcessor creates a new trieNodeChunksProcessor instance
Types ¶
type ArgHdrInterceptorProcessor ¶
type ArgHdrInterceptorProcessor struct { Headers dataRetriever.HeadersPool BlockBlackList process.TimeCacher }
ArgHdrInterceptorProcessor is the argument for the interceptor processor used for headers (shard, meta and so on)
type ArgMiniblockInterceptorProcessor ¶ added in v1.0.104
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 ¶ added in v1.0.133
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 ¶
func (hip *HdrInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, topic string) error
Save will save the received data into the headers cacher as hash<->[plain header structure] and in headersNonces as nonce<->hash
func (*HdrInterceptorProcessor) Validate ¶
func (hip *HdrInterceptorProcessor) Validate(data process.InterceptedData, _ core.PeerID) error
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 ¶ added in v1.0.104
type MiniblockInterceptorProcessor struct {
// contains filtered or unexported fields
}
MiniblockInterceptorProcessor is the processor used when intercepting miniblocks
func NewMiniblockInterceptorProcessor ¶ added in v1.0.104
func NewMiniblockInterceptorProcessor(argument *ArgMiniblockInterceptorProcessor) (*MiniblockInterceptorProcessor, error)
NewMiniblockInterceptorProcessor creates a new MiniblockInterceptorProcessor instance
func (*MiniblockInterceptorProcessor) IsInterfaceNil ¶ added in v1.0.104
func (mip *MiniblockInterceptorProcessor) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*MiniblockInterceptorProcessor) RegisterHandler ¶ added in v1.0.133
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 ¶ added in v1.0.104
func (mip *MiniblockInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, topic string) error
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 ¶ added in v1.0.104
func (mip *MiniblockInterceptorProcessor) Validate(_ process.InterceptedData, _ core.PeerID) error
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 ¶ added in v1.0.133
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 ¶
func (tnip *TrieNodeInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, _ string) error
Save saves the intercepted trie node in the intercepted nodes cacher
func (*TrieNodeInterceptorProcessor) Validate ¶
func (tnip *TrieNodeInterceptorProcessor) Validate(_ process.InterceptedData, _ core.PeerID) error
Validate checks if the intercepted data can be processed
type TrieNodesChunksProcessorArgs ¶ added in v1.2.4
type TrieNodesChunksProcessorArgs struct { Hasher hashing.Hasher ChunksCacher storage.Cacher RequestInterval time.Duration RequestHandler process.RequestHandler Topic string }
TrieNodesChunksProcessorArgs is the argument DTO used in the trieNodeChunksProcessor constructor
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 ¶ added in v1.0.133
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 ¶
func (txip *TxInterceptorProcessor) Save(data process.InterceptedData, _ core.PeerID, _ string) error
Save will save the received data into the cacher
func (*TxInterceptorProcessor) Validate ¶
func (txip *TxInterceptorProcessor) Validate(data process.InterceptedData, _ core.PeerID) error
Validate checks if the intercepted data can be processed