processor

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2022 License: GPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHeartbeatInterceptorProcessor added in v1.3.37

func NewHeartbeatInterceptorProcessor(args ArgHeartbeatInterceptorProcessor) (*heartbeatInterceptorProcessor, error)

NewHeartbeatInterceptorProcessor creates a new heartbeatInterceptorProcessor

func NewPeerAuthenticationInterceptorProcessor added in v1.3.37

func NewPeerAuthenticationInterceptorProcessor(args ArgPeerAuthenticationInterceptorProcessor) (*peerAuthenticationInterceptorProcessor, error)

NewPeerAuthenticationInterceptorProcessor creates a new peerAuthenticationInterceptorProcessor

func NewPeerShardInterceptorProcessor added in v1.3.45

func NewPeerShardInterceptorProcessor(args ArgPeerShardInterceptorProcessor) (*peerShardInterceptorProcessor, error)

NewPeerShardInterceptorProcessor creates an instance of peerShardInterceptorProcessor

func NewTrieNodeChunksProcessor added in v1.2.4

func NewTrieNodeChunksProcessor(arg TrieNodesChunksProcessorArgs) (*trieNodeChunksProcessor, error)

NewTrieNodeChunksProcessor creates a new trieNodeChunksProcessor instance

func NewValidatorInfoInterceptorProcessor added in v1.4.0

func NewValidatorInfoInterceptorProcessor(args ArgValidatorInfoInterceptorProcessor) (*validatorInfoInterceptorProcessor, error)

NewValidatorInfoInterceptorProcessor creates a new validator info interceptor processor

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 ArgHeartbeatInterceptorProcessor added in v1.3.37

type ArgHeartbeatInterceptorProcessor struct {
	HeartbeatCacher  storage.Cacher
	ShardCoordinator sharding.Coordinator
	PeerShardMapper  process.PeerShardMapper
}

ArgHeartbeatInterceptorProcessor is the argument for the interceptor processor used for heartbeat

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 ArgPeerAuthenticationInterceptorProcessor added in v1.3.37

type ArgPeerAuthenticationInterceptorProcessor struct {
	PeerAuthenticationCacher storage.Cacher
	PeerShardMapper          process.PeerShardMapper
	Marshaller               marshal.Marshalizer
	HardforkTrigger          heartbeat.HardforkTrigger
}

ArgPeerAuthenticationInterceptorProcessor is the argument for the interceptor processor used for peer authentication

type ArgPeerShardInterceptorProcessor added in v1.3.45

type ArgPeerShardInterceptorProcessor struct {
	PeerShardMapper process.PeerShardMapper
}

ArgPeerShardInterceptorProcessor is the argument for the interceptor processor used for peer shard message

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 ArgValidatorInfoInterceptorProcessor added in v1.4.0

type ArgValidatorInfoInterceptorProcessor struct {
	ValidatorInfoPool dataRetriever.ShardedDataCacherNotifier
}

ArgValidatorInfoInterceptorProcessor is the argument structure used to create a new validator info interceptor processor

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

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 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

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

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

Save saves the intercepted trie node in the intercepted nodes cacher

func (*TrieNodeInterceptorProcessor) Validate

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, peerOriginator core.PeerID, _ string) error

Save will save the received data into the cacher

func (*TxInterceptorProcessor) Validate

Validate checks if the intercepted data can be processed

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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