Documentation ¶
Overview ¶
Package gossip implements simple protocol to send new validated messages to all peers and ignore old or not valid messages.
Index ¶
- type Protocol
- func (p *Protocol) Broadcast(ctx context.Context, payload []byte, nextProt string) error
- func (p *Protocol) Close()
- func (p *Protocol) Relay(ctx context.Context, sender p2pcrypto.PublicKey, protocol string, ...) error
- func (p *Protocol) SetPriority(protoName string, priority priorityq.Priority)
- func (p *Protocol) Start(ctx context.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Protocol ¶
Protocol runs the gossip protocol using the given peers and service.
func NewProtocol ¶
func NewProtocol(ctx context.Context, config config.SwarmConfig, base baseNetwork, peersManager peersManager, localNodePubkey p2pcrypto.PublicKey, logger log.Log) *Protocol
NewProtocol creates a new gossip protocol instance.
func (*Protocol) Broadcast ¶
Broadcast is the actual broadcast procedure - process the message internally and loop on peers and add the message to their queues.
func (*Protocol) Close ¶
func (p *Protocol) Close()
Close stops the protocol and waits for background workers to exit.
func (*Protocol) Relay ¶
func (p *Protocol) Relay(ctx context.Context, sender p2pcrypto.PublicKey, protocol string, msg service.Data) error
Relay processes a message, if the message is new, it is passed for the protocol to validate and then propagated.
func (*Protocol) SetPriority ¶
SetPriority sets the priority for protoName in the queue.
Click to show internal directories.
Click to hide internal directories.