Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New( ctx *snow.ConsensusContext, msgCreator message.Creator, externalSender ExternalSender, router router.Router, timeouts timeout.Manager, gossipConfig GossipConfig, ) (common.Sender, error)
Types ¶
type ExternalSender ¶
type ExternalSender interface { // Send a message to a specific set of nodes Send( msg message.OutboundMessage, nodeIDs ids.ShortSet, subnetID ids.ID, validatorOnly bool, ) ids.ShortSet // Send a message to a random group of nodes in a subnet. // Nodes are sampled based on their validator status. Gossip( msg message.OutboundMessage, subnetID ids.ID, validatorOnly bool, numValidatorsToSend int, numNonValidatorsToSend int, numPeersToSend int, ) ids.ShortSet }
ExternalSender sends consensus messages to other validators Right now this is implemented in the networking package
type ExternalSenderTest ¶
type ExternalSenderTest struct { TB testing.TB CantSend, CantGossip bool SendF func(msg message.OutboundMessage, nodeIDs ids.ShortSet, subnetID ids.ID, validatorOnly bool) ids.ShortSet GossipF func(msg message.OutboundMessage, subnetID ids.ID, validatorOnly bool, numValidatorsToSend, numNonValidatorsToSend, numPeersToSend int) ids.ShortSet }
ExternalSenderTest is a test sender
func (*ExternalSenderTest) Default ¶
func (s *ExternalSenderTest) Default(cant bool)
Default set the default callable value to [cant]
func (*ExternalSenderTest) Gossip ¶
func (s *ExternalSenderTest) Gossip( msg message.OutboundMessage, subnetID ids.ID, validatorOnly bool, numValidatorsToSend int, numNonValidatorsToSend int, numPeersToSend int, ) ids.ShortSet
Given a msg type, the corresponding mock function is called if it was initialized. If it wasn't initialized and this function shouldn't be called and testing was initialized, then testing will fail.
type GossipConfig ¶
type GossipConfig struct { AcceptedFrontierValidatorSize uint `json:"gossipAcceptedFrontierValidatorSize"` AcceptedFrontierNonValidatorSize uint `json:"gossipAcceptedFrontierNonValidatorSize"` AcceptedFrontierPeerSize uint `json:"gossipAcceptedFrontierPeerSize"` OnAcceptValidatorSize uint `json:"gossipOnAcceptValidatorSize"` OnAcceptNonValidatorSize uint `json:"gossipOnAcceptNonValidatorSize"` OnAcceptPeerSize uint `json:"gossipOnAcceptPeerSize"` AppGossipValidatorSize uint `json:"appGossipValidatorSize"` AppGossipNonValidatorSize uint `json:"appGossipNonValidatorSize"` AppGossipPeerSize uint `json:"appGossipPeerSize"` }
Click to show internal directories.
Click to hide internal directories.