Help us shape the future of Go! Take the 2026 Go Developer Survey

sender

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2025 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ChainID       ids.ID
	SubnetID      ids.ID
	MsgCreator    message.Creator
	Sender        ExternalSender
	Validators    validators.Set
	EngineType    p2p.EngineType
	SubnetTracker subnets.Tracker
}

Config configures the sender

type ExternalSender

type ExternalSender interface {
	Send(msg message.OutboundMessage, nodeIDs ...ids.NodeID) []ids.NodeID
}

ExternalSender sends messages to other nodes

type Sender

type Sender interface {
	// SendGetStateSummaryFrontier requests a state summary frontier from a peer
	SendGetStateSummaryFrontier(ctx context.Context, nodeID ids.NodeID, requestID uint32)

	// SendStateSummaryFrontier sends a state summary frontier to a peer
	SendStateSummaryFrontier(ctx context.Context, nodeID ids.NodeID, requestID uint32, summary []byte)

	// SendGetAcceptedStateSummary requests an accepted state summary from a peer
	SendGetAcceptedStateSummary(ctx context.Context, nodeID ids.NodeID, requestID uint32, heights []uint64)

	// SendAcceptedStateSummary sends accepted state summaries to a peer
	SendAcceptedStateSummary(ctx context.Context, nodeID ids.NodeID, requestID uint32, summaryIDs []ids.ID)

	// SendGetAcceptedFrontier requests the accepted frontier from a peer
	SendGetAcceptedFrontier(ctx context.Context, nodeID ids.NodeID, requestID uint32)

	// SendAcceptedFrontier sends the accepted frontier to a peer
	SendAcceptedFrontier(ctx context.Context, nodeID ids.NodeID, requestID uint32, containerID ids.ID)

	// SendGetAccepted requests the accepted containers from a peer
	SendGetAccepted(ctx context.Context, nodeID ids.NodeID, requestID uint32, containerIDs []ids.ID)

	// SendAccepted sends accepted container IDs to a peer
	SendAccepted(ctx context.Context, nodeID ids.NodeID, requestID uint32, containerIDs []ids.ID)

	// SendGet requests a container from a peer
	SendGet(ctx context.Context, nodeID ids.NodeID, requestID uint32, containerID ids.ID)

	// SendGetAncestors requests ancestors from a peer
	SendGetAncestors(ctx context.Context, nodeID ids.NodeID, requestID uint32, containerID ids.ID)

	// SendPut sends a container to a peer
	SendPut(ctx context.Context, nodeID ids.NodeID, requestID uint32, container []byte)

	// SendAncestors sends ancestors to a peer
	SendAncestors(ctx context.Context, nodeID ids.NodeID, requestID uint32, containers [][]byte)

	// SendPushQuery sends a push query to a peer
	SendPushQuery(ctx context.Context, nodeID ids.NodeID, requestID uint32, container []byte, requestedHeight uint64)

	// SendPullQuery sends a pull query to a peer
	SendPullQuery(ctx context.Context, nodeID ids.NodeID, requestID uint32, containerID ids.ID, requestedHeight uint64)

	// SendChits sends chits to a peer
	SendChits(ctx context.Context, nodeID ids.NodeID, requestID uint32, preferredID ids.ID, preferredIDAtHeight ids.ID, acceptedID ids.ID)

	// SendGossip sends a gossip message to a subset of peers
	SendGossip(ctx context.Context, container []byte)

	// SendAppRequest sends an app-specific request to a peer
	SendAppRequest(ctx context.Context, nodeIDs set.Set[ids.NodeID], requestID uint32, message []byte) error

	// SendAppResponse sends an app-specific response to a peer
	SendAppResponse(ctx context.Context, nodeID ids.NodeID, requestID uint32, message []byte) error

	// SendAppGossip sends an app-specific gossip message
	SendAppGossip(ctx context.Context, message []byte) error

	// SendCrossChainAppRequest sends a cross-chain app request
	SendCrossChainAppRequest(ctx context.Context, chainID ids.ID, requestID uint32, message []byte) error

	// SendCrossChainAppResponse sends a cross-chain app response
	SendCrossChainAppResponse(ctx context.Context, chainID ids.ID, requestID uint32, message []byte) error
}

Sender sends consensus messages

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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