message

package
v1.11.3 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: BSD-3-Clause Imports: 19 Imported by: 20

Documentation ¶

Overview ¶

Package message is a generated GoMock package.

Package message is a generated GoMock package.

Index ¶

Constants ¶

This section is empty.

Variables ¶

View Source
var (
	HandshakeOps = []Op{
		PingOp,
		PongOp,
		HandshakeOp,
		GetPeerListOp,
		PeerListOp,
	}

	// List of all consensus request message types
	ConsensusRequestOps = []Op{
		GetStateSummaryFrontierOp,
		GetAcceptedStateSummaryOp,
		GetAcceptedFrontierOp,
		GetAcceptedOp,
		GetAncestorsOp,
		GetOp,
		PushQueryOp,
		PullQueryOp,
		AppRequestOp,
	}
	ConsensusResponseOps = []Op{
		StateSummaryFrontierOp,
		AcceptedStateSummaryOp,
		AcceptedFrontierOp,
		AcceptedOp,
		AncestorsOp,
		PutOp,
		ChitsOp,
		AppResponseOp,
		AppErrorOp,
	}
	// AppGossip is the only message that is sent unrequested without the
	// expectation of a response
	ConsensusExternalOps = append(
		ConsensusRequestOps,
		append(
			ConsensusResponseOps,
			AppGossipOp,
		)...,
	)
	ConsensusInternalOps = []Op{
		GetStateSummaryFrontierFailedOp,
		GetAcceptedStateSummaryFailedOp,
		GetAcceptedFrontierFailedOp,
		GetAcceptedFailedOp,
		GetAncestorsFailedOp,
		GetFailedOp,
		QueryFailedOp,
		CrossChainAppRequestOp,
		CrossChainAppErrorOp,
		CrossChainAppResponseOp,
		ConnectedOp,
		ConnectedSubnetOp,
		DisconnectedOp,
		NotifyOp,
		GossipRequestOp,
		TimeoutOp,
	}
	ConsensusOps = append(ConsensusExternalOps, ConsensusInternalOps...)

	ExternalOps = append(ConsensusExternalOps, HandshakeOps...)

	SynchronousOps = []Op{

		GetStateSummaryFrontierOp,
		GetStateSummaryFrontierFailedOp,
		StateSummaryFrontierOp,
		GetAcceptedStateSummaryOp,
		GetAcceptedStateSummaryFailedOp,
		AcceptedStateSummaryOp,

		GetAcceptedFrontierOp,
		GetAcceptedFrontierFailedOp,
		AcceptedFrontierOp,
		GetAcceptedOp,
		GetAcceptedFailedOp,
		AcceptedOp,
		GetAncestorsOp,
		GetAncestorsFailedOp,
		AncestorsOp,

		GetOp,
		GetFailedOp,
		PutOp,
		PushQueryOp,
		PullQueryOp,
		QueryFailedOp,
		ChitsOp,

		ConnectedOp,
		ConnectedSubnetOp,
		DisconnectedOp,
	}

	AsynchronousOps = []Op{

		AppRequestOp,
		AppErrorOp,
		AppGossipOp,
		AppResponseOp,

		CrossChainAppRequestOp,
		CrossChainAppErrorOp,
		CrossChainAppResponseOp,
	}

	FailedToResponseOps = map[Op]Op{
		GetStateSummaryFrontierFailedOp: StateSummaryFrontierOp,
		GetAcceptedStateSummaryFailedOp: AcceptedStateSummaryOp,
		GetAcceptedFrontierFailedOp:     AcceptedFrontierOp,
		GetAcceptedFailedOp:             AcceptedOp,
		GetAncestorsFailedOp:            AncestorsOp,
		GetFailedOp:                     PutOp,
		QueryFailedOp:                   ChitsOp,
		AppErrorOp:                      AppResponseOp,
		CrossChainAppErrorOp:            CrossChainAppResponseOp,
	}
	UnrequestedOps = set.Of(
		GetAcceptedFrontierOp,
		GetAcceptedOp,
		GetAncestorsOp,
		GetOp,
		PushQueryOp,
		PullQueryOp,
		AppRequestOp,
		AppGossipOp,
		CrossChainAppRequestOp,
		GetStateSummaryFrontierOp,
		GetAcceptedStateSummaryOp,
	)
)

Functions ¶

func GetChainID ¶ added in v1.9.2

func GetChainID(m any) (ids.ID, error)

func GetDeadline ¶ added in v1.9.2

func GetDeadline(m any) (time.Duration, bool)

func GetEngineType ¶ added in v1.9.6

func GetEngineType(m any) (p2p.EngineType, bool)

func GetRequestID ¶ added in v1.9.2

func GetRequestID(m any) (uint32, bool)

func GetSourceChainID ¶ added in v1.9.2

func GetSourceChainID(m any) (ids.ID, error)

func Unwrap ¶ added in v1.9.2

func Unwrap(m *p2p.Message) (fmt.Stringer, error)

Types ¶

type Connected ¶

type Connected struct {
	NodeVersion *version.Application `json:"node_version,omitempty"`
}

func (*Connected) String ¶ added in v1.10.3

func (m *Connected) String() string

type ConnectedSubnet ¶ added in v1.9.4

type ConnectedSubnet struct {
	SubnetID ids.ID `json:"subnet_id,omitempty"`
}

ConnectedSubnet contains the subnet ID of the subnet that the node is connected to.

func (*ConnectedSubnet) String ¶ added in v1.10.3

func (m *ConnectedSubnet) String() string

type Creator ¶

type Creator interface {
	OutboundMsgBuilder
	InboundMsgBuilder
}

func NewCreator ¶

func NewCreator(
	log logging.Logger,
	metrics prometheus.Registerer,
	parentNamespace string,
	compressionType compression.Type,
	maxMessageTimeout time.Duration,
) (Creator, error)

type CrossChainAppRequest ¶ added in v1.9.2

type CrossChainAppRequest struct {
	SourceChainID      ids.ID `json:"source_chain_id,omitempty"`
	DestinationChainID ids.ID `json:"destination_chain_id,omitempty"`
	RequestID          uint32 `json:"request_id,omitempty"`
	Message            []byte `json:"message,omitempty"`
}

func (*CrossChainAppRequest) GetChainId ¶ added in v1.9.2

func (m *CrossChainAppRequest) GetChainId() []byte

func (*CrossChainAppRequest) GetRequestId ¶ added in v1.9.2

func (m *CrossChainAppRequest) GetRequestId() uint32

func (*CrossChainAppRequest) GetSourceChainID ¶ added in v1.9.2

func (m *CrossChainAppRequest) GetSourceChainID() ids.ID

func (*CrossChainAppRequest) String ¶ added in v1.10.3

func (m *CrossChainAppRequest) String() string

type CrossChainAppRequestFailed ¶ added in v1.9.2

type CrossChainAppRequestFailed struct {
	SourceChainID      ids.ID `json:"source_chain_id,omitempty"`
	DestinationChainID ids.ID `json:"destination_chain_id,omitempty"`
	RequestID          uint32 `json:"request_id,omitempty"`
	ErrorCode          int32  `json:"error_code,omitempty"`
	ErrorMessage       string `json:"error_message,omitempty"`
}

func (*CrossChainAppRequestFailed) GetChainId ¶ added in v1.9.2

func (m *CrossChainAppRequestFailed) GetChainId() []byte

func (*CrossChainAppRequestFailed) GetRequestId ¶ added in v1.9.2

func (m *CrossChainAppRequestFailed) GetRequestId() uint32

func (*CrossChainAppRequestFailed) GetSourceChainID ¶ added in v1.9.2

func (m *CrossChainAppRequestFailed) GetSourceChainID() ids.ID

func (*CrossChainAppRequestFailed) String ¶ added in v1.10.3

func (m *CrossChainAppRequestFailed) String() string

type CrossChainAppResponse ¶ added in v1.9.2

type CrossChainAppResponse struct {
	SourceChainID      ids.ID `json:"source_chain_id,omitempty"`
	DestinationChainID ids.ID `json:"destination_chain_id,omitempty"`
	RequestID          uint32 `json:"request_id,omitempty"`
	Message            []byte `json:"message,omitempty"`
}

func (*CrossChainAppResponse) GetChainId ¶ added in v1.9.2

func (m *CrossChainAppResponse) GetChainId() []byte

func (*CrossChainAppResponse) GetRequestId ¶ added in v1.9.2

func (m *CrossChainAppResponse) GetRequestId() uint32

func (*CrossChainAppResponse) GetSourceChainID ¶ added in v1.9.2

func (m *CrossChainAppResponse) GetSourceChainID() ids.ID

func (*CrossChainAppResponse) String ¶ added in v1.10.3

func (m *CrossChainAppResponse) String() string

type Disconnected ¶

type Disconnected struct{}

func (Disconnected) String ¶ added in v1.10.3

func (Disconnected) String() string

type GetAcceptedFailed ¶

type GetAcceptedFailed struct {
	ChainID   ids.ID `json:"chain_id,omitempty"`
	RequestID uint32 `json:"request_id,omitempty"`
}

func (*GetAcceptedFailed) GetChainId ¶ added in v1.9.2

func (m *GetAcceptedFailed) GetChainId() []byte

func (*GetAcceptedFailed) GetRequestId ¶ added in v1.9.2

func (m *GetAcceptedFailed) GetRequestId() uint32

func (*GetAcceptedFailed) String ¶ added in v1.10.3

func (m *GetAcceptedFailed) String() string

type GetAcceptedFrontierFailed ¶

type GetAcceptedFrontierFailed struct {
	ChainID   ids.ID `json:"chain_id,omitempty"`
	RequestID uint32 `json:"request_id,omitempty"`
}

func (*GetAcceptedFrontierFailed) GetChainId ¶ added in v1.9.2

func (m *GetAcceptedFrontierFailed) GetChainId() []byte

func (*GetAcceptedFrontierFailed) GetRequestId ¶ added in v1.9.2

func (m *GetAcceptedFrontierFailed) GetRequestId() uint32

func (*GetAcceptedFrontierFailed) String ¶ added in v1.10.3

func (m *GetAcceptedFrontierFailed) String() string

type GetAcceptedStateSummaryFailed ¶ added in v1.8.4

type GetAcceptedStateSummaryFailed struct {
	ChainID   ids.ID `json:"chain_id,omitempty"`
	RequestID uint32 `json:"request_id,omitempty"`
}

func (*GetAcceptedStateSummaryFailed) GetChainId ¶ added in v1.9.2

func (m *GetAcceptedStateSummaryFailed) GetChainId() []byte

func (*GetAcceptedStateSummaryFailed) GetRequestId ¶ added in v1.9.2

func (m *GetAcceptedStateSummaryFailed) GetRequestId() uint32

func (*GetAcceptedStateSummaryFailed) String ¶ added in v1.10.3

type GetAncestorsFailed ¶

type GetAncestorsFailed struct {
	ChainID    ids.ID         `json:"chain_id,omitempty"`
	RequestID  uint32         `json:"request_id,omitempty"`
	EngineType p2p.EngineType `json:"engine_type,omitempty"`
}

func (*GetAncestorsFailed) GetChainId ¶ added in v1.9.2

func (m *GetAncestorsFailed) GetChainId() []byte

func (*GetAncestorsFailed) GetEngineType ¶ added in v1.9.6

func (m *GetAncestorsFailed) GetEngineType() p2p.EngineType

func (*GetAncestorsFailed) GetRequestId ¶ added in v1.9.2

func (m *GetAncestorsFailed) GetRequestId() uint32

func (*GetAncestorsFailed) String ¶ added in v1.10.3

func (m *GetAncestorsFailed) String() string

type GetFailed ¶

type GetFailed struct {
	ChainID   ids.ID `json:"chain_id,omitempty"`
	RequestID uint32 `json:"request_id,omitempty"`
}

func (*GetFailed) GetChainId ¶ added in v1.9.2

func (m *GetFailed) GetChainId() []byte

func (*GetFailed) GetRequestId ¶ added in v1.9.2

func (m *GetFailed) GetRequestId() uint32

func (*GetFailed) String ¶ added in v1.10.3

func (m *GetFailed) String() string

type GetStateSummaryFrontierFailed ¶ added in v1.8.4

type GetStateSummaryFrontierFailed struct {
	ChainID   ids.ID `json:"chain_id,omitempty"`
	RequestID uint32 `json:"request_id,omitempty"`
}

func (*GetStateSummaryFrontierFailed) GetChainId ¶ added in v1.9.2

func (m *GetStateSummaryFrontierFailed) GetChainId() []byte

func (*GetStateSummaryFrontierFailed) GetRequestId ¶ added in v1.9.2

func (m *GetStateSummaryFrontierFailed) GetRequestId() uint32

func (*GetStateSummaryFrontierFailed) String ¶ added in v1.10.3

type GossipRequest ¶

type GossipRequest struct{}

func (GossipRequest) String ¶ added in v1.10.3

func (GossipRequest) String() string

type InboundMessage ¶

type InboundMessage interface {
	fmt.Stringer
	// NodeID returns the ID of the node that sent this message
	NodeID() ids.NodeID
	// Op returns the op that describes this message type
	Op() Op
	// Message returns the message that was sent
	Message() fmt.Stringer
	// Expiration returns the time that the sender will have already timed out
	// this request
	Expiration() time.Time
	// OnFinishedHandling must be called one time when this message has been
	// handled by the message handler
	OnFinishedHandling()
	// BytesSavedCompression returns the number of bytes that this message saved
	// due to being compressed
	BytesSavedCompression() int
}

InboundMessage represents a set of fields for an inbound message

func InboundAccepted ¶ added in v1.9.3

func InboundAccepted(
	chainID ids.ID,
	requestID uint32,
	containerIDs []ids.ID,
	nodeID ids.NodeID,
) InboundMessage

func InboundAcceptedFrontier ¶ added in v1.9.3

func InboundAcceptedFrontier(
	chainID ids.ID,
	requestID uint32,
	containerID ids.ID,
	nodeID ids.NodeID,
) InboundMessage

func InboundAcceptedStateSummary ¶ added in v1.9.3

func InboundAcceptedStateSummary(
	chainID ids.ID,
	requestID uint32,
	summaryIDs []ids.ID,
	nodeID ids.NodeID,
) InboundMessage

func InboundAppError ¶ added in v1.10.18

func InboundAppError(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
	errorCode int32,
	errorMessage string,
) InboundMessage

func InboundAppRequest ¶ added in v1.9.3

func InboundAppRequest(
	chainID ids.ID,
	requestID uint32,
	deadline time.Duration,
	msg []byte,
	nodeID ids.NodeID,
) InboundMessage

func InboundAppResponse ¶ added in v1.9.3

func InboundAppResponse(
	chainID ids.ID,
	requestID uint32,
	msg []byte,
	nodeID ids.NodeID,
) InboundMessage

func InboundChits ¶ added in v1.9.3

func InboundChits(
	chainID ids.ID,
	requestID uint32,
	preferredID ids.ID,
	preferredIDAtHeight ids.ID,
	acceptedID ids.ID,
	nodeID ids.NodeID,
) InboundMessage

func InboundGetAccepted ¶ added in v1.9.3

func InboundGetAccepted(
	chainID ids.ID,
	requestID uint32,
	deadline time.Duration,
	containerIDs []ids.ID,
	nodeID ids.NodeID,
) InboundMessage

func InboundGetAcceptedFrontier ¶ added in v1.9.3

func InboundGetAcceptedFrontier(
	chainID ids.ID,
	requestID uint32,
	deadline time.Duration,
	nodeID ids.NodeID,
) InboundMessage

func InboundGetAcceptedStateSummary ¶ added in v1.9.3

func InboundGetAcceptedStateSummary(
	chainID ids.ID,
	requestID uint32,
	heights []uint64,
	deadline time.Duration,
	nodeID ids.NodeID,
) InboundMessage

func InboundGetStateSummaryFrontier ¶ added in v1.9.3

func InboundGetStateSummaryFrontier(
	chainID ids.ID,
	requestID uint32,
	deadline time.Duration,
	nodeID ids.NodeID,
) InboundMessage

func InboundPullQuery ¶ added in v1.9.3

func InboundPullQuery(
	chainID ids.ID,
	requestID uint32,
	deadline time.Duration,
	containerID ids.ID,
	requestedHeight uint64,
	nodeID ids.NodeID,
) InboundMessage

func InboundPushQuery ¶ added in v1.9.3

func InboundPushQuery(
	chainID ids.ID,
	requestID uint32,
	deadline time.Duration,
	container []byte,
	requestedHeight uint64,
	nodeID ids.NodeID,
) InboundMessage

func InboundStateSummaryFrontier ¶ added in v1.9.3

func InboundStateSummaryFrontier(
	chainID ids.ID,
	requestID uint32,
	summary []byte,
	nodeID ids.NodeID,
) InboundMessage

func InternalConnected ¶ added in v1.9.2

func InternalConnected(nodeID ids.NodeID, nodeVersion *version.Application) InboundMessage

func InternalConnectedSubnet ¶ added in v1.9.4

func InternalConnectedSubnet(nodeID ids.NodeID, subnetID ids.ID) InboundMessage

InternalConnectedSubnet returns a message that indicates the node with [nodeID] is connected to the subnet with the given [subnetID].

func InternalCrossChainAppError ¶ added in v1.10.18

func InternalCrossChainAppError(
	nodeID ids.NodeID,
	sourceChainID ids.ID,
	destinationChainID ids.ID,
	requestID uint32,
	errorCode int32,
	errorMessage string,
) InboundMessage

func InternalCrossChainAppRequest ¶ added in v1.9.2

func InternalCrossChainAppRequest(
	nodeID ids.NodeID,
	sourceChainID ids.ID,
	destinationChainID ids.ID,
	requestID uint32,
	deadline time.Duration,
	msg []byte,
) InboundMessage

func InternalCrossChainAppResponse ¶ added in v1.9.2

func InternalCrossChainAppResponse(
	nodeID ids.NodeID,
	sourceChainID ids.ID,
	destinationChainID ids.ID,
	requestID uint32,
	msg []byte,
) InboundMessage

func InternalDisconnected ¶ added in v1.9.2

func InternalDisconnected(nodeID ids.NodeID) InboundMessage

func InternalGetAcceptedFailed ¶ added in v1.9.2

func InternalGetAcceptedFailed(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
) InboundMessage

func InternalGetAcceptedFrontierFailed ¶ added in v1.9.2

func InternalGetAcceptedFrontierFailed(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
) InboundMessage

func InternalGetAcceptedStateSummaryFailed ¶ added in v1.9.2

func InternalGetAcceptedStateSummaryFailed(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
) InboundMessage

func InternalGetAncestorsFailed ¶ added in v1.9.2

func InternalGetAncestorsFailed(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
	engineType p2p.EngineType,
) InboundMessage

func InternalGetFailed ¶ added in v1.9.2

func InternalGetFailed(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
) InboundMessage

func InternalGetStateSummaryFrontierFailed ¶ added in v1.9.2

func InternalGetStateSummaryFrontierFailed(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
) InboundMessage

func InternalGossipRequest ¶ added in v1.9.2

func InternalGossipRequest(
	nodeID ids.NodeID,
) InboundMessage

func InternalQueryFailed ¶ added in v1.9.2

func InternalQueryFailed(
	nodeID ids.NodeID,
	chainID ids.ID,
	requestID uint32,
) InboundMessage

func InternalTimeout ¶ added in v1.9.2

func InternalTimeout(nodeID ids.NodeID) InboundMessage

func InternalVMMessage ¶ added in v1.9.2

func InternalVMMessage(
	nodeID ids.NodeID,
	notification uint32,
) InboundMessage

type InboundMsgBuilder ¶

type InboundMsgBuilder interface {
	// Parse reads given bytes as InboundMessage
	Parse(
		bytes []byte,
		nodeID ids.NodeID,
		onFinishedHandling func(),
	) (InboundMessage, error)
}

type MockOutboundMessage ¶ added in v1.9.2

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

MockOutboundMessage is a mock of OutboundMessage interface.

func NewMockOutboundMessage ¶ added in v1.9.2

func NewMockOutboundMessage(ctrl *gomock.Controller) *MockOutboundMessage

NewMockOutboundMessage creates a new mock instance.

func (*MockOutboundMessage) BypassThrottling ¶ added in v1.9.2

func (m *MockOutboundMessage) BypassThrottling() bool

BypassThrottling mocks base method.

func (*MockOutboundMessage) Bytes ¶ added in v1.9.2

func (m *MockOutboundMessage) Bytes() []byte

Bytes mocks base method.

func (*MockOutboundMessage) BytesSavedCompression ¶ added in v1.9.2

func (m *MockOutboundMessage) BytesSavedCompression() int

BytesSavedCompression mocks base method.

func (*MockOutboundMessage) EXPECT ¶ added in v1.9.2

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockOutboundMessage) Op ¶ added in v1.9.2

func (m *MockOutboundMessage) Op() Op

Op mocks base method.

type MockOutboundMessageMockRecorder ¶ added in v1.9.2

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

MockOutboundMessageMockRecorder is the mock recorder for MockOutboundMessage.

func (*MockOutboundMessageMockRecorder) BypassThrottling ¶ added in v1.9.2

func (mr *MockOutboundMessageMockRecorder) BypassThrottling() *gomock.Call

BypassThrottling indicates an expected call of BypassThrottling.

func (*MockOutboundMessageMockRecorder) Bytes ¶ added in v1.9.2

Bytes indicates an expected call of Bytes.

func (*MockOutboundMessageMockRecorder) BytesSavedCompression ¶ added in v1.9.2

func (mr *MockOutboundMessageMockRecorder) BytesSavedCompression() *gomock.Call

BytesSavedCompression indicates an expected call of BytesSavedCompression.

func (*MockOutboundMessageMockRecorder) Op ¶ added in v1.9.2

Op indicates an expected call of Op.

type MockOutboundMsgBuilder ¶ added in v1.9.4

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

MockOutboundMsgBuilder is a mock of OutboundMsgBuilder interface.

func NewMockOutboundMsgBuilder ¶ added in v1.9.4

func NewMockOutboundMsgBuilder(ctrl *gomock.Controller) *MockOutboundMsgBuilder

NewMockOutboundMsgBuilder creates a new mock instance.

func (*MockOutboundMsgBuilder) Accepted ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) Accepted(arg0 ids.ID, arg1 uint32, arg2 []ids.ID) (OutboundMessage, error)

Accepted mocks base method.

func (*MockOutboundMsgBuilder) AcceptedFrontier ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) AcceptedFrontier(arg0 ids.ID, arg1 uint32, arg2 ids.ID) (OutboundMessage, error)

AcceptedFrontier mocks base method.

func (*MockOutboundMsgBuilder) AcceptedStateSummary ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) AcceptedStateSummary(arg0 ids.ID, arg1 uint32, arg2 []ids.ID) (OutboundMessage, error)

AcceptedStateSummary mocks base method.

func (*MockOutboundMsgBuilder) Ancestors ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) Ancestors(arg0 ids.ID, arg1 uint32, arg2 [][]byte) (OutboundMessage, error)

Ancestors mocks base method.

func (*MockOutboundMsgBuilder) AppError ¶ added in v1.11.1

func (m *MockOutboundMsgBuilder) AppError(arg0 ids.ID, arg1 uint32, arg2 int32, arg3 string) (OutboundMessage, error)

AppError mocks base method.

func (*MockOutboundMsgBuilder) AppGossip ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) AppGossip(arg0 ids.ID, arg1 []byte) (OutboundMessage, error)

AppGossip mocks base method.

func (*MockOutboundMsgBuilder) AppRequest ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) AppRequest(arg0 ids.ID, arg1 uint32, arg2 time.Duration, arg3 []byte) (OutboundMessage, error)

AppRequest mocks base method.

func (*MockOutboundMsgBuilder) AppResponse ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) AppResponse(arg0 ids.ID, arg1 uint32, arg2 []byte) (OutboundMessage, error)

AppResponse mocks base method.

func (*MockOutboundMsgBuilder) Chits ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) Chits(arg0 ids.ID, arg1 uint32, arg2, arg3, arg4 ids.ID) (OutboundMessage, error)

Chits mocks base method.

func (*MockOutboundMsgBuilder) EXPECT ¶ added in v1.9.4

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockOutboundMsgBuilder) Get ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) Get(arg0 ids.ID, arg1 uint32, arg2 time.Duration, arg3 ids.ID) (OutboundMessage, error)

Get mocks base method.

func (*MockOutboundMsgBuilder) GetAccepted ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) GetAccepted(arg0 ids.ID, arg1 uint32, arg2 time.Duration, arg3 []ids.ID) (OutboundMessage, error)

GetAccepted mocks base method.

func (*MockOutboundMsgBuilder) GetAcceptedFrontier ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) GetAcceptedFrontier(arg0 ids.ID, arg1 uint32, arg2 time.Duration) (OutboundMessage, error)

GetAcceptedFrontier mocks base method.

func (*MockOutboundMsgBuilder) GetAcceptedStateSummary ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) GetAcceptedStateSummary(arg0 ids.ID, arg1 uint32, arg2 time.Duration, arg3 []uint64) (OutboundMessage, error)

GetAcceptedStateSummary mocks base method.

func (*MockOutboundMsgBuilder) GetAncestors ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) GetAncestors(arg0 ids.ID, arg1 uint32, arg2 time.Duration, arg3 ids.ID, arg4 p2p.EngineType) (OutboundMessage, error)

GetAncestors mocks base method.

func (*MockOutboundMsgBuilder) GetPeerList ¶ added in v1.10.18

func (m *MockOutboundMsgBuilder) GetPeerList(arg0, arg1 []byte) (OutboundMessage, error)

GetPeerList mocks base method.

func (*MockOutboundMsgBuilder) GetStateSummaryFrontier ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) GetStateSummaryFrontier(arg0 ids.ID, arg1 uint32, arg2 time.Duration) (OutboundMessage, error)

GetStateSummaryFrontier mocks base method.

func (*MockOutboundMsgBuilder) Handshake ¶ added in v1.10.18

func (m *MockOutboundMsgBuilder) Handshake(arg0 uint32, arg1 uint64, arg2 ips.IPPort, arg3 string, arg4, arg5, arg6 uint32, arg7 uint64, arg8, arg9 []byte, arg10 []ids.ID, arg11, arg12 []uint32, arg13, arg14 []byte) (OutboundMessage, error)

Handshake mocks base method.

func (*MockOutboundMsgBuilder) PeerList ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) PeerList(arg0 []*ips.ClaimedIPPort, arg1 bool) (OutboundMessage, error)

PeerList mocks base method.

func (*MockOutboundMsgBuilder) Ping ¶ added in v1.9.4

Ping mocks base method.

func (*MockOutboundMsgBuilder) Pong ¶ added in v1.9.4

Pong mocks base method.

func (*MockOutboundMsgBuilder) PullQuery ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) PullQuery(arg0 ids.ID, arg1 uint32, arg2 time.Duration, arg3 ids.ID, arg4 uint64) (OutboundMessage, error)

PullQuery mocks base method.

func (*MockOutboundMsgBuilder) PushQuery ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) PushQuery(arg0 ids.ID, arg1 uint32, arg2 time.Duration, arg3 []byte, arg4 uint64) (OutboundMessage, error)

PushQuery mocks base method.

func (*MockOutboundMsgBuilder) Put ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) Put(arg0 ids.ID, arg1 uint32, arg2 []byte) (OutboundMessage, error)

Put mocks base method.

func (*MockOutboundMsgBuilder) StateSummaryFrontier ¶ added in v1.9.4

func (m *MockOutboundMsgBuilder) StateSummaryFrontier(arg0 ids.ID, arg1 uint32, arg2 []byte) (OutboundMessage, error)

StateSummaryFrontier mocks base method.

type MockOutboundMsgBuilderMockRecorder ¶ added in v1.9.4

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

MockOutboundMsgBuilderMockRecorder is the mock recorder for MockOutboundMsgBuilder.

func (*MockOutboundMsgBuilderMockRecorder) Accepted ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) Accepted(arg0, arg1, arg2 any) *gomock.Call

Accepted indicates an expected call of Accepted.

func (*MockOutboundMsgBuilderMockRecorder) AcceptedFrontier ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) AcceptedFrontier(arg0, arg1, arg2 any) *gomock.Call

AcceptedFrontier indicates an expected call of AcceptedFrontier.

func (*MockOutboundMsgBuilderMockRecorder) AcceptedStateSummary ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) AcceptedStateSummary(arg0, arg1, arg2 any) *gomock.Call

AcceptedStateSummary indicates an expected call of AcceptedStateSummary.

func (*MockOutboundMsgBuilderMockRecorder) Ancestors ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) Ancestors(arg0, arg1, arg2 any) *gomock.Call

Ancestors indicates an expected call of Ancestors.

func (*MockOutboundMsgBuilderMockRecorder) AppError ¶ added in v1.11.1

func (mr *MockOutboundMsgBuilderMockRecorder) AppError(arg0, arg1, arg2, arg3 any) *gomock.Call

AppError indicates an expected call of AppError.

func (*MockOutboundMsgBuilderMockRecorder) AppGossip ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) AppGossip(arg0, arg1 any) *gomock.Call

AppGossip indicates an expected call of AppGossip.

func (*MockOutboundMsgBuilderMockRecorder) AppRequest ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) AppRequest(arg0, arg1, arg2, arg3 any) *gomock.Call

AppRequest indicates an expected call of AppRequest.

func (*MockOutboundMsgBuilderMockRecorder) AppResponse ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) AppResponse(arg0, arg1, arg2 any) *gomock.Call

AppResponse indicates an expected call of AppResponse.

func (*MockOutboundMsgBuilderMockRecorder) Chits ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) Chits(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call

Chits indicates an expected call of Chits.

func (*MockOutboundMsgBuilderMockRecorder) Get ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) Get(arg0, arg1, arg2, arg3 any) *gomock.Call

Get indicates an expected call of Get.

func (*MockOutboundMsgBuilderMockRecorder) GetAccepted ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) GetAccepted(arg0, arg1, arg2, arg3 any) *gomock.Call

GetAccepted indicates an expected call of GetAccepted.

func (*MockOutboundMsgBuilderMockRecorder) GetAcceptedFrontier ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) GetAcceptedFrontier(arg0, arg1, arg2 any) *gomock.Call

GetAcceptedFrontier indicates an expected call of GetAcceptedFrontier.

func (*MockOutboundMsgBuilderMockRecorder) GetAcceptedStateSummary ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) GetAcceptedStateSummary(arg0, arg1, arg2, arg3 any) *gomock.Call

GetAcceptedStateSummary indicates an expected call of GetAcceptedStateSummary.

func (*MockOutboundMsgBuilderMockRecorder) GetAncestors ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) GetAncestors(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call

GetAncestors indicates an expected call of GetAncestors.

func (*MockOutboundMsgBuilderMockRecorder) GetPeerList ¶ added in v1.10.18

func (mr *MockOutboundMsgBuilderMockRecorder) GetPeerList(arg0, arg1 any) *gomock.Call

GetPeerList indicates an expected call of GetPeerList.

func (*MockOutboundMsgBuilderMockRecorder) GetStateSummaryFrontier ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) GetStateSummaryFrontier(arg0, arg1, arg2 any) *gomock.Call

GetStateSummaryFrontier indicates an expected call of GetStateSummaryFrontier.

func (*MockOutboundMsgBuilderMockRecorder) Handshake ¶ added in v1.10.18

func (mr *MockOutboundMsgBuilderMockRecorder) Handshake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14 any) *gomock.Call

Handshake indicates an expected call of Handshake.

func (*MockOutboundMsgBuilderMockRecorder) PeerList ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) PeerList(arg0, arg1 any) *gomock.Call

PeerList indicates an expected call of PeerList.

func (*MockOutboundMsgBuilderMockRecorder) Ping ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) Ping(arg0, arg1 any) *gomock.Call

Ping indicates an expected call of Ping.

func (*MockOutboundMsgBuilderMockRecorder) Pong ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) Pong(arg0, arg1 any) *gomock.Call

Pong indicates an expected call of Pong.

func (*MockOutboundMsgBuilderMockRecorder) PullQuery ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) PullQuery(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call

PullQuery indicates an expected call of PullQuery.

func (*MockOutboundMsgBuilderMockRecorder) PushQuery ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) PushQuery(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call

PushQuery indicates an expected call of PushQuery.

func (*MockOutboundMsgBuilderMockRecorder) Put ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) Put(arg0, arg1, arg2 any) *gomock.Call

Put indicates an expected call of Put.

func (*MockOutboundMsgBuilderMockRecorder) StateSummaryFrontier ¶ added in v1.9.4

func (mr *MockOutboundMsgBuilderMockRecorder) StateSummaryFrontier(arg0, arg1, arg2 any) *gomock.Call

StateSummaryFrontier indicates an expected call of StateSummaryFrontier.

type Op ¶

type Op byte

Op is an opcode

const (
	// Handshake:
	PingOp Op = iota
	PongOp
	HandshakeOp
	GetPeerListOp
	PeerListOp
	// State sync:
	GetStateSummaryFrontierOp
	GetStateSummaryFrontierFailedOp
	StateSummaryFrontierOp
	GetAcceptedStateSummaryOp
	GetAcceptedStateSummaryFailedOp
	AcceptedStateSummaryOp
	// Bootstrapping:
	GetAcceptedFrontierOp
	GetAcceptedFrontierFailedOp
	AcceptedFrontierOp
	GetAcceptedOp
	GetAcceptedFailedOp
	AcceptedOp
	GetAncestorsOp
	GetAncestorsFailedOp
	AncestorsOp
	// Consensus:
	GetOp
	GetFailedOp
	PutOp
	PushQueryOp
	PullQueryOp
	QueryFailedOp
	ChitsOp
	// Application:
	AppRequestOp
	AppErrorOp
	AppResponseOp
	AppGossipOp
	// Cross chain:
	CrossChainAppRequestOp
	CrossChainAppErrorOp
	CrossChainAppResponseOp
	// Internal:
	ConnectedOp
	ConnectedSubnetOp
	DisconnectedOp
	NotifyOp
	GossipRequestOp
	TimeoutOp
)

Types of messages that may be sent between nodes Note: If you add a new parseable Op below, you must also add it to ops (declared below)

func ToOp ¶ added in v1.9.2

func ToOp(m *p2p.Message) (Op, error)

func (Op) String ¶

func (op Op) String() string

type OutboundMessage ¶

type OutboundMessage interface {
	// BypassThrottling returns true if we should send this message, regardless
	// of any outbound message throttling
	BypassThrottling() bool
	// Op returns the op that describes this message type
	Op() Op
	// Bytes returns the bytes that will be sent
	Bytes() []byte
	// BytesSavedCompression returns the number of bytes that this message saved
	// due to being compressed
	BytesSavedCompression() int
}

OutboundMessage represents a set of fields for an outbound message that can be serialized into a byte stream

type OutboundMsgBuilder ¶

type OutboundMsgBuilder interface {
	Handshake(
		networkID uint32,
		myTime uint64,
		ip ips.IPPort,
		client string,
		major uint32,
		minor uint32,
		patch uint32,
		ipSigningTime uint64,
		ipNodeIDSig []byte,
		ipBLSSig []byte,
		trackedSubnets []ids.ID,
		supportedACPs []uint32,
		objectedACPs []uint32,
		knownPeersFilter []byte,
		knownPeersSalt []byte,
	) (OutboundMessage, error)

	GetPeerList(
		knownPeersFilter []byte,
		knownPeersSalt []byte,
	) (OutboundMessage, error)

	PeerList(
		peers []*ips.ClaimedIPPort,
		bypassThrottling bool,
	) (OutboundMessage, error)

	Ping(
		primaryUptime uint32,
		subnetUptimes []*p2p.SubnetUptime,
	) (OutboundMessage, error)

	Pong(
		primaryUptime uint32,
		subnetUptimes []*p2p.SubnetUptime,
	) (OutboundMessage, error)

	GetStateSummaryFrontier(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
	) (OutboundMessage, error)

	StateSummaryFrontier(
		chainID ids.ID,
		requestID uint32,
		summary []byte,
	) (OutboundMessage, error)

	GetAcceptedStateSummary(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
		heights []uint64,
	) (OutboundMessage, error)

	AcceptedStateSummary(
		chainID ids.ID,
		requestID uint32,
		summaryIDs []ids.ID,
	) (OutboundMessage, error)

	GetAcceptedFrontier(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
	) (OutboundMessage, error)

	AcceptedFrontier(
		chainID ids.ID,
		requestID uint32,
		containerID ids.ID,
	) (OutboundMessage, error)

	GetAccepted(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
		containerIDs []ids.ID,
	) (OutboundMessage, error)

	Accepted(
		chainID ids.ID,
		requestID uint32,
		containerIDs []ids.ID,
	) (OutboundMessage, error)

	GetAncestors(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
		containerID ids.ID,
		engineType p2p.EngineType,
	) (OutboundMessage, error)

	Ancestors(
		chainID ids.ID,
		requestID uint32,
		containers [][]byte,
	) (OutboundMessage, error)

	Get(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
		containerID ids.ID,
	) (OutboundMessage, error)

	Put(
		chainID ids.ID,
		requestID uint32,
		container []byte,
	) (OutboundMessage, error)

	PushQuery(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
		container []byte,
		requestedHeight uint64,
	) (OutboundMessage, error)

	PullQuery(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
		containerID ids.ID,
		requestedHeight uint64,
	) (OutboundMessage, error)

	Chits(
		chainID ids.ID,
		requestID uint32,
		preferredID ids.ID,
		preferredIDAtHeight ids.ID,
		acceptedID ids.ID,
	) (OutboundMessage, error)

	AppRequest(
		chainID ids.ID,
		requestID uint32,
		deadline time.Duration,
		msg []byte,
	) (OutboundMessage, error)

	AppResponse(
		chainID ids.ID,
		requestID uint32,
		msg []byte,
	) (OutboundMessage, error)

	AppError(
		chainID ids.ID,
		requestID uint32,
		errorCode int32,
		errorMessage string,
	) (OutboundMessage, error)

	AppGossip(
		chainID ids.ID,
		msg []byte,
	) (OutboundMessage, error)
}

OutboundMsgBuilder builds outbound messages. Outbound messages are returned with a reference count of 1. Once the reference count hits 0, the message bytes should no longer be accessed.

type QueryFailed ¶

type QueryFailed struct {
	ChainID   ids.ID `json:"chain_id,omitempty"`
	RequestID uint32 `json:"request_id,omitempty"`
}

func (*QueryFailed) GetChainId ¶ added in v1.9.2

func (m *QueryFailed) GetChainId() []byte

func (*QueryFailed) GetRequestId ¶ added in v1.9.2

func (m *QueryFailed) GetRequestId() uint32

func (*QueryFailed) String ¶ added in v1.10.3

func (m *QueryFailed) String() string

type Timeout ¶

type Timeout struct{}

func (Timeout) String ¶ added in v1.10.3

func (Timeout) String() string

type VMMessage ¶

type VMMessage struct {
	Notification uint32 `json:"notification,omitempty"`
}

func (*VMMessage) String ¶ added in v1.10.3

func (m *VMMessage) String() string

Jump to

Keyboard shortcuts

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