node

package
v1.0.114 Latest Latest
Warning

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

Go to latest
Published: May 8, 2020 License: GPL-3.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

View Source
const SendTransactionsPipe = "send transactions pipe"

SendTransactionsPipe is the pipe used for sending new transactions

Variables

View Source
var ErrEmptyQueryHandlerName = errors.New("empty query handler name")

ErrEmptyQueryHandlerName signals that an empty string can not be used to be used in the query handler container

View Source
var ErrGenesisBlockNotInitialized = errors.New("genesis block is not initialized")

ErrGenesisBlockNotInitialized signals that genesis block is not initialized

View Source
var ErrInvalidChainID = errors.New("invalid chain ID in Node")

ErrInvalidChainID signals that an invalid chain ID has been provided

View Source
var ErrInvalidValue = errors.New("invalid value")

ErrInvalidValue signals that an invalid value has been provided such as NaN to an integer field

View Source
var ErrNegativeDurationInSecToConsiderUnresponsive = errors.New("value DurationInSecToConsiderUnresponsive is less" +
	" than 1")

ErrNegativeDurationInSecToConsiderUnresponsive is raised when a value less than 1 has been provided

View Source
var ErrNegativeMaxTimeToWaitBetweenBroadcastsInSec = errors.New("value MaxTimeToWaitBetweenBroadcastsInSec is less " +
	"than 1")

ErrNegativeMaxTimeToWaitBetweenBroadcastsInSec is raised when a value less than 1 has been provided

View Source
var ErrNegativeMinTimeToWaitBetweenBroadcastsInSec = errors.New("value MinTimeToWaitBetweenBroadcastsInSec is less " +
	"than 1")

ErrNegativeMinTimeToWaitBetweenBroadcastsInSec is raised when a value less than 1 has been provided

View Source
var ErrNegativeOrZeroConsensusGroupSize = errors.New("group size should be a strict positive number")

ErrNegativeOrZeroConsensusGroupSize signals that 0 elements consensus group is not supported

View Source
var ErrNilAccountsAdapter = errors.New("trying to set nil accounts adapter")

ErrNilAccountsAdapter signals that a nil accounts adapter has been provided

View Source
var ErrNilAntifloodHandler = errors.New("nil antiflood handler")

ErrNilAntifloodHandler signals that a nil antiflood handler has been provided

View Source
var ErrNilBlackListHandler = errors.New("nil black list handler")

ErrNilBlackListHandler signals that a nil black list handler was provided

View Source
var ErrNilBlockProcessor = errors.New("trying to set nil block processor")

ErrNilBlockProcessor signals that a nil block processor has been provided

View Source
var ErrNilBlockTracker = errors.New("trying to set nil block tracker")

ErrNilBlockTracker signals that a nil block tracker has been provided

View Source
var ErrNilBlockchain = errors.New("nil blockchain")

ErrNilBlockchain signals that a nil blockchain structure has been provided

View Source
var ErrNilBootStorer = errors.New("nil boot storer")

ErrNilBootStorer signals that a nil boot storer was provided

View Source
var ErrNilDataPool = errors.New("trying to set nil data pool")

ErrNilDataPool signals that a nil data pool has been provided

View Source
var ErrNilEpochStartTrigger = errors.New("nil start of epoch trigger")

ErrNilEpochStartTrigger signals that a nil start of epoch trigger has been provided

View Source
var ErrNilForkDetector = errors.New("nil fork detector")

ErrNilForkDetector signals that a nil forkdetector object has been provided

View Source
var ErrNilHardforkTrigger = errors.New("nil hardfork trigger")

ErrNilHardforkTrigger signals that a nil hardfork trigger has been provided

View Source
var ErrNilHasher = errors.New("trying to set nil hasher")

ErrNilHasher signals that a nil hasher has been provided

View Source
var ErrNilHeaderSigVerifier = errors.New("nil header sig verifier")

ErrNilHeaderSigVerifier signals that a nil header sig verifier has been provided

View Source
var ErrNilInterceptorsContainer = errors.New("nil interceptors container")

ErrNilInterceptorsContainer signals that a nil interceptors container has been provided

View Source
var ErrNilKeyGenForBalances = errors.New("trying to set a nil key gen for signing")

ErrNilKeyGenForBalances signals that a nil keygen for balances has been provided

View Source
var ErrNilMarshalizer = errors.New("trying to set nil marshalizer")

ErrNilMarshalizer signals that a nil marshalizer has been provided

View Source
var ErrNilMessenger = errors.New("nil messenger")

ErrNilMessenger signals that a nil messenger has been provided

View Source
var ErrNilMultiSig = errors.New("trying to set nil multiSigner")

ErrNilMultiSig signals that a nil multiSigner object has been provided

View Source
var ErrNilNetworkShardingCollector = errors.New("nil network sharding collector")

ErrNilNetworkShardingCollector defines the error for setting a nil network sharding collector

View Source
var ErrNilNodeStopChannel = errors.New("nil node stop channel")

ErrNilNodeStopChannel signals that a nil channel for node process stop has been provided

View Source
var ErrNilNodesCoordinator = errors.New("trying to set nil nodes coordinator")

ErrNilNodesCoordinator signals that a nil nodes coordinator has been provided

View Source
var ErrNilPendingMiniBlocksHandler = errors.New("trying to set nil pending miniblocks handler")

ErrNilPendingMiniBlocksHandler signals that a nil pending miniblocks handler has been provided

View Source
var ErrNilPrivateKey = errors.New("trying to set nil private key")

ErrNilPrivateKey signals that a nil private key has been provided

View Source
var ErrNilPubkeyConverter = errors.New("trying to use a nil pubkey converter")

ErrNilPubkeyConverter signals that a nil public key converter has been provided

View Source
var ErrNilPublicKey = errors.New("trying to set nil public key")

ErrNilPublicKey signals that a nil public key has been provided

View Source
var ErrNilQueryHandler = errors.New("nil query handler")

ErrNilQueryHandler signals that a nil query handler has been provided

View Source
var ErrNilRequestHandler = errors.New("trying to set nil request handler")

ErrNilRequestHandler signals that a nil request handler has been provided

View Source
var ErrNilRequestedItemsHandler = errors.New("nil requested items handler")

ErrNilRequestedItemsHandler signals that a nil requested items handler was provided

View Source
var ErrNilResolversFinder = errors.New("nil resolvers finder")

ErrNilResolversFinder signals that a nil resolvers finder has been provided

View Source
var ErrNilRounder = errors.New("trying to set nil rounder")

ErrNilRounder signals that a nil rounder has been provided

View Source
var ErrNilShardCoordinator = errors.New("trying to set nil shard coordinator")

ErrNilShardCoordinator signals that a nil shard coordinator has been provided

View Source
var ErrNilSingleSig = errors.New("trying to set nil singlesig")

ErrNilSingleSig signals that a nil singlesig object has been provided

View Source
var ErrNilSingleSignKeyGen = errors.New("trying to set nil single sign key generator")

ErrNilSingleSignKeyGen signals that a nil single key generator has been provided

View Source
var ErrNilStatusHandler = errors.New("nil AppStatusHandler")

ErrNilStatusHandler is returned when the status handler is nil

View Source
var ErrNilStore = errors.New("nil data store")

ErrNilStore signals that a nil store has been provided

View Source
var ErrNilSyncTimer = errors.New("trying to set nil sync timer")

ErrNilSyncTimer signals that a nil sync timer has been provided

View Source
var ErrNilTxAccumulator = errors.New("nil tx accumulator")

ErrNilTxAccumulator signals that a nil Accumulator instance has been provided

View Source
var ErrNilTxFeeHandler = errors.New("trying to set a nil tx fee handler")

ErrNilTxFeeHandler signals that a nil tx fee handler was provided

View Source
var ErrNilUint64ByteSliceConverter = errors.New("trying to set nil uint64 - byte slice converter")

ErrNilUint64ByteSliceConverter signals that a nil uint64 <-> byte slice converter has been provided

View Source
var ErrNilValidatorStatistics = errors.New("nil validator statistics")

ErrNilValidatorStatistics signals that a nil validator statistics has been provided

View Source
var ErrNilWhiteListHandler = errors.New("nil whitelist handler")

ErrNilWhiteListHandler signals that white list handler is nil

View Source
var ErrNoTxToProcess = errors.New("no transaction to process")

ErrNoTxToProcess signals that no transaction were sent for processing

View Source
var ErrQueryHandlerAlreadyExists = errors.New("query handler already exists")

ErrQueryHandlerAlreadyExists signals that the query handler is already registered

View Source
var ErrSystemBusyGeneratingTransactions = errors.New("system busy while generating bulk transactions")

ErrSystemBusyGeneratingTransactions signals that to many transactions are trying to get generated

View Source
var ErrValidatorAlreadySet = errors.New("topic validator has already been set")

ErrValidatorAlreadySet signals that a topic validator has already been set

View Source
var ErrWrongValues = errors.New("wrong values for heartbeat parameters")

ErrWrongValues signals that wrong values were provided

View Source
var ErrZeroRoundDurationNotSupported = errors.New("0 round duration time is not supported")

ErrZeroRoundDurationNotSupported signals that 0 seconds round duration is not supported

Functions

This section is empty.

Types

type Accumulator

type Accumulator interface {
	AddData(data interface{})
	OutputChannel() <-chan []interface{}
	IsInterfaceNil() bool
}

Accumulator defines the interface able to accumulate data and periodically evict them

type HardforkTrigger added in v1.0.102

type HardforkTrigger interface {
	TriggerReceived(payload []byte, data []byte, pkBytes []byte) (bool, error)
	RecordedTriggerMessage() ([]byte, bool)
	Trigger() error
	CreateData() []byte
	IsSelfTrigger() bool
	IsInterfaceNil() bool
}

HardforkTrigger defines the behavior of a hardfork trigger

type NetworkShardingCollector

type NetworkShardingCollector interface {
	UpdatePeerIdPublicKey(pid p2p.PeerID, pk []byte)
	UpdatePublicKeyShardId(pk []byte, shardId uint32)
	UpdatePeerIdShardId(pid p2p.PeerID, shardId uint32)
	IsInterfaceNil() bool
}

NetworkShardingCollector defines the updating methods used by the network sharding component The interface assures that the collected data will be used by the p2p network sharding components

type Node

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

Node is a structure that passes the configuration parameters and initializes

required services as requested

func NewNode

func NewNode(opts ...Option) (*Node, error)

NewNode creates a new Node instance

func (*Node) AddQueryHandler added in v1.0.110

func (n *Node) AddQueryHandler(name string, handler debug.QueryHandler) error

AddQueryHandler adds a query handler in cache

func (*Node) ApplyOptions

func (n *Node) ApplyOptions(opts ...Option) error

ApplyOptions can set up different configurable options of a Node instance

func (*Node) CreateShardedStores

func (n *Node) CreateShardedStores() error

CreateShardedStores instantiate sharded cachers for Transactions and Headers

func (*Node) CreateTransaction

func (n *Node) CreateTransaction(
	nonce uint64,
	value string,
	receiver string,
	sender string,
	gasPrice uint64,
	gasLimit uint64,
	dataField string,
	signatureHex string,
) (*transaction.Transaction, []byte, error)

CreateTransaction will return a transaction from all the required fields

func (*Node) DecodeAddressPubkey added in v1.0.104

func (n *Node) DecodeAddressPubkey(pk string) ([]byte, error)

DecodeAddressPubkey will try to decode the provided address public key string

func (*Node) DirectTrigger added in v1.0.102

func (n *Node) DirectTrigger() error

DirectTrigger will start the hardfork trigger

func (*Node) EncodeAddressPubkey added in v1.0.104

func (n *Node) EncodeAddressPubkey(pk []byte) (string, error)

EncodeAddressPubkey will encode the provided address public key bytes to string

func (*Node) GenerateAndSendBulkTransactions

func (n *Node) GenerateAndSendBulkTransactions(receiverHex string, value *big.Int, numOfTxs uint64, sk crypto.PrivateKey) error

GenerateAndSendBulkTransactions is a method for generating and propagating a set of transactions to be processed. It is mainly used for demo purposes

func (*Node) GenerateTransaction

func (n *Node) GenerateTransaction(senderHex string, receiverHex string, value *big.Int, transactionData string, privateKey crypto.PrivateKey) (*transaction.Transaction, error)

GenerateTransaction generates a new transaction with sender, receiver, amount and code

func (*Node) GetAccount

func (n *Node) GetAccount(address string) (state.UserAccountHandler, error)

GetAccount will return account details for a given address

func (*Node) GetAppStatusHandler

func (n *Node) GetAppStatusHandler() core.AppStatusHandler

GetAppStatusHandler will return the current status handler

func (*Node) GetBalance

func (n *Node) GetBalance(address string) (*big.Int, error)

GetBalance gets the balance for a specific address

func (*Node) GetHeartbeats

func (n *Node) GetHeartbeats() []heartbeat.PubKeyHeartbeat

GetHeartbeats returns the heartbeat status for each public key defined in genesis.json

func (*Node) GetQueryHandler added in v1.0.110

func (n *Node) GetQueryHandler(name string) (debug.QueryHandler, error)

GetQueryHandler returns the query handler if existing

func (*Node) GetTransaction

func (n *Node) GetTransaction(_ string) (*transaction.Transaction, error)

GetTransaction gets the transaction

func (*Node) IsInterfaceNil

func (n *Node) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*Node) IsSelfTrigger added in v1.0.102

func (n *Node) IsSelfTrigger() bool

IsSelfTrigger returns true if the trigger's registered public key matches the self public key

func (*Node) SendBulkTransactions

func (n *Node) SendBulkTransactions(txs []*transaction.Transaction) (uint64, error)

SendBulkTransactions sends the provided transactions as a bulk, optimizing transfer between nodes

func (*Node) StartConsensus

func (n *Node) StartConsensus() error

StartConsensus will start the consensus service for the current node

func (*Node) StartHeartbeat

func (n *Node) StartHeartbeat(hbConfig config.HeartbeatConfig, versionNumber string, prefsConfig config.PreferencesConfig) error

StartHeartbeat starts the node's heartbeat processing/signaling module

func (*Node) ValidateTransaction

func (n *Node) ValidateTransaction(tx *transaction.Transaction) error

ValidateTransaction will validate a transaction

func (*Node) ValidatorStatisticsApi

func (n *Node) ValidatorStatisticsApi() (map[string]*state.ValidatorApiResponse, error)

ValidatorStatisticsApi will return the statistics for all the validators from the initial nodes pub keys

type Option

type Option func(*Node) error

Option represents a functional configuration parameter that can operate

over the None struct.

func WithAccountsAdapter

func WithAccountsAdapter(accounts state.AccountsAdapter) Option

WithAccountsAdapter sets up the accounts adapter option for the Node

func WithAddressPubkeyConverter added in v1.0.104

func WithAddressPubkeyConverter(pubkeyConverter state.PubkeyConverter) Option

WithAddressPubkeyConverter sets up the address public key converter adapter option for the Node

func WithAppStatusHandler

func WithAppStatusHandler(aph core.AppStatusHandler) Option

WithAppStatusHandler sets up which handler will monitor the status of the node

func WithBlockBlackListHandler added in v1.0.102

func WithBlockBlackListHandler(blackListHandler process.BlackListHandler) Option

WithBlockBlackListHandler sets up a block black list handler for the Node

func WithBlockChain

func WithBlockChain(blkc data.ChainHandler) Option

WithBlockChain sets up the blockchain option for the Node

func WithBlockProcessor

func WithBlockProcessor(blockProcessor process.BlockProcessor) Option

WithBlockProcessor sets up the block processor option for the Node

func WithBlockTracker

func WithBlockTracker(blockTracker process.BlockTracker) Option

WithBlockTracker sets up the block tracker for the Node

func WithBootStorer

func WithBootStorer(bootStorer process.BootStorer) Option

WithBootStorer sets up a boot storer for the Node

func WithBootstrapRoundIndex

func WithBootstrapRoundIndex(bootstrapRoundIndex uint64) Option

WithBootstrapRoundIndex sets up a bootstrapRoundIndex option for the Node

func WithChainID

func WithChainID(chainID []byte) Option

WithChainID sets up the chain ID on which the current node is supposed to work on

func WithConsensusGroupSize

func WithConsensusGroupSize(consensusGroupSize int) Option

WithConsensusGroupSize sets up the consensus group size option for the Node

func WithConsensusType

func WithConsensusType(consensusType string) Option

WithConsensusType sets up the consensus type option for the Node

func WithDataPool

func WithDataPool(dataPool dataRetriever.PoolsHolder) Option

WithDataPool sets up the data pools option for the Node

func WithDataStore

func WithDataStore(store dataRetriever.StorageService) Option

WithDataStore sets up the storage options for the Node

func WithEpochStartEventNotifier added in v1.0.102

func WithEpochStartEventNotifier(epochStartEventNotifier epochStart.RegistrationHandler) Option

WithEpochStartEventNotifier sets up the notifier for the epoch start event

func WithEpochStartTrigger

func WithEpochStartTrigger(epochStartTrigger epochStart.TriggerHandler) Option

WithEpochStartTrigger sets up an start of epoch trigger option for the node

func WithForkDetector

func WithForkDetector(forkDetector process.ForkDetector) Option

WithForkDetector sets up the multiSigner option for the Node

func WithGenesisTime

func WithGenesisTime(genesisTime time.Time) Option

WithGenesisTime sets up the genesis time option for the Node

func WithHardforkTrigger added in v1.0.102

func WithHardforkTrigger(hardforkTrigger HardforkTrigger) Option

WithHardforkTrigger sets up a hardfork trigger

func WithHasher

func WithHasher(hasher hashing.Hasher) Option

WithHasher sets up the hasher option for the Node

func WithHeaderSigVerifier

func WithHeaderSigVerifier(headerSigVerifier spos.RandSeedVerifier) Option

WithHeaderSigVerifier sets up a header sig verifier for the Node

func WithIndexer

func WithIndexer(indexer indexer.Indexer) Option

WithIndexer sets up a indexer for the Node

func WithInitialNodesPubKeys

func WithInitialNodesPubKeys(pubKeys map[uint32][]string) Option

WithInitialNodesPubKeys sets up the initial nodes public key option for the Node

func WithInputAntifloodHandler

func WithInputAntifloodHandler(antifloodHandler P2PAntifloodHandler) Option

WithInputAntifloodHandler sets up an antiflood handler for the Node on the input side

func WithInterceptorsContainer

func WithInterceptorsContainer(interceptorsContainer process.InterceptorsContainer) Option

WithInterceptorsContainer sets up the interceptors container option for the Node

func WithInternalMarshalizer

func WithInternalMarshalizer(marshalizer marshal.Marshalizer, sizeCheckDelta uint32) Option

WithInternalMarshalizer sets up the marshalizer option for the Node

func WithKeyGen

func WithKeyGen(keyGen crypto.KeyGenerator) Option

WithKeyGen sets up the single sign key generator option for the Node

func WithKeyGenForAccounts

func WithKeyGenForAccounts(keyGenForAccounts crypto.KeyGenerator) Option

WithKeyGenForAccounts sets up the balances key generator option for the Node

func WithMessenger

func WithMessenger(mes P2PMessenger) Option

WithMessenger sets up the messenger option for the Node

func WithMultiSigner

func WithMultiSigner(multiSigner crypto.MultiSigner) Option

WithMultiSigner sets up the multiSigner option for the Node

func WithNetworkShardingCollector

func WithNetworkShardingCollector(networkShardingCollector NetworkShardingCollector) Option

WithNetworkShardingCollector sets up a network sharding updater for the Node

func WithNodeStopChannel added in v1.0.103

func WithNodeStopChannel(channel chan endProcess.ArgEndProcess) Option

WithNodeStopChannel sets up the channel which will handle closing the node

func WithNodesCoordinator

func WithNodesCoordinator(nodesCoordinator sharding.NodesCoordinator) Option

WithNodesCoordinator sets up the nodes coordinator

func WithPeerBlackListHandler added in v1.0.102

func WithPeerBlackListHandler(blackListHandler process.BlackListHandler) Option

WithPeerBlackListHandler sets up a block black list handler for the Node

func WithPendingMiniBlocksHandler

func WithPendingMiniBlocksHandler(pendingMiniBlocksHandler process.PendingMiniBlocksHandler) Option

WithPendingMiniBlocksHandler sets up the pending miniblocks handler for the Node

func WithPrivKey

func WithPrivKey(sk crypto.PrivateKey) Option

WithPrivKey sets up the multi sign private key option for the Node

func WithPubKey

func WithPubKey(pk crypto.PublicKey) Option

WithPubKey sets up the multi sign pub key option for the Node

func WithPublicKeySize added in v1.0.103

func WithPublicKeySize(publicKeySize int) Option

WithPublicKeySize sets up a publicKeySize option for the Node

func WithRequestHandler

func WithRequestHandler(requestHandler process.RequestHandler) Option

WithRequestHandler sets up the request handler for the Node

func WithRequestedItemsHandler

func WithRequestedItemsHandler(requestedItemsHandler dataRetriever.RequestedItemsHandler) Option

WithRequestedItemsHandler sets up a requested items handler for the Node

func WithResolversFinder

func WithResolversFinder(resolversFinder dataRetriever.ResolversFinder) Option

WithResolversFinder sets up the resolvers finder option for the Node

func WithRoundDuration

func WithRoundDuration(roundDuration uint64) Option

WithRoundDuration sets up the round duration option for the Node

func WithRounder

func WithRounder(rounder consensus.Rounder) Option

WithRounder sets up the rounder option for the Node

func WithShardCoordinator

func WithShardCoordinator(shardCoordinator sharding.Coordinator) Option

WithShardCoordinator sets up the shard coordinator for the Node

func WithSignatureSize added in v1.0.103

func WithSignatureSize(signatureSize int) Option

WithSignatureSize sets up a signatureSize option for the Node

func WithSingleSigner

func WithSingleSigner(singleSigner crypto.SingleSigner) Option

WithSingleSigner sets up a singleSigner option for the Node

func WithSyncer

func WithSyncer(syncer ntp.SyncTimer) Option

WithSyncer sets up the syncTimer option for the Node

func WithTxAccumulator

func WithTxAccumulator(accumulator Accumulator) Option

WithTxAccumulator sets up a transaction accumulator handler for the Node

func WithTxFeeHandler

func WithTxFeeHandler(feeHandler process.FeeHandler) Option

WithTxFeeHandler sets up the tx fee handler for the Node

func WithTxSignMarshalizer

func WithTxSignMarshalizer(marshalizer marshal.Marshalizer) Option

WithTxSignMarshalizer sets up the marshalizer used in transaction singning

func WithTxSingleSigner

func WithTxSingleSigner(txSingleSigner crypto.SingleSigner) Option

WithTxSingleSigner sets up a txSingleSigner option for the Node

func WithTxStorageSize

func WithTxStorageSize(txStorageSize uint32) Option

WithTxStorageSize sets up a txStorageSize option for the Node

func WithUint64ByteSliceConverter

func WithUint64ByteSliceConverter(converter typeConverters.Uint64ByteSliceConverter) Option

WithUint64ByteSliceConverter sets up the uint64 <-> []byte converter

func WithValidatorPubkeyConverter added in v1.0.104

func WithValidatorPubkeyConverter(pubkeyConverter state.PubkeyConverter) Option

WithValidatorPubkeyConverter sets up the validator public key converter adapter option for the Node

func WithValidatorStatistics

func WithValidatorStatistics(validatorStatistics process.ValidatorStatisticsProcessor) Option

WithValidatorStatistics sets up the validator statistics for the node

func WithValidatorsProvider added in v0.0.5

func WithValidatorsProvider(validatorsProvider process.ValidatorsProvider) Option

WithValidatorsProvider sets up the validators provider for the node

func WithVmMarshalizer

func WithVmMarshalizer(marshalizer marshal.Marshalizer) Option

WithVmMarshalizer sets up the marshalizer used in Vm communication (SC)

func WithWhiteListHandler added in v1.0.110

func WithWhiteListHandler(whiteListHandler process.WhiteListHandler) Option

WithWhiteListHandler sets up a white list handler option

func WithWhiteListHandlerVerified added in v1.0.110

func WithWhiteListHandlerVerified(whiteListHandler process.WhiteListHandler) Option

WithWhiteListHandlerVerified sets up a white list handler option

type P2PAntifloodHandler

type P2PAntifloodHandler interface {
	CanProcessMessage(message p2p.MessageP2P, fromConnectedPeer p2p.PeerID) error
	CanProcessMessagesOnTopic(peer p2p.PeerID, topic string, numMessages uint32) error
	ResetForTopic(topic string)
	SetMaxMessagesForTopic(topic string, maxNum uint32)
	IsInterfaceNil() bool
}

P2PAntifloodHandler defines the behavior of a component able to signal that the system is too busy (or flooded) processing p2p messages

type P2PMessenger

type P2PMessenger interface {
	io.Closer
	Bootstrap() error
	Broadcast(topic string, buff []byte)
	BroadcastOnChannel(channel string, topic string, buff []byte)
	BroadcastOnChannelBlocking(channel string, topic string, buff []byte) error
	CreateTopic(name string, createChannelForTopic bool) error
	HasTopic(name string) bool
	HasTopicValidator(name string) bool
	RegisterMessageProcessor(topic string, handler p2p.MessageProcessor) error
	PeerAddress(pid p2p.PeerID) string
	IsConnectedToTheNetwork() bool
	ID() p2p.PeerID
	IsInterfaceNil() bool
}

P2PMessenger defines a subset of the p2p.Messenger interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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