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