Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppHandler ¶ added in v1.11.10
type AppHandler interface {
// AppRequest handles an application-level request to this node.
AppRequest(
ctx context.Context,
nodeID ids.NodeID,
requestID uint32,
deadline time.Time,
msg []byte,
) error
// AppResponse handles an application-level response to a request this node
// sent.
AppResponse(
ctx context.Context,
nodeID ids.NodeID,
requestID uint32,
msg []byte,
) error
// AppRequestFailed notifies the consensus engine that an AppRequest it
// sent failed or timed out.
AppRequestFailed(
ctx context.Context,
nodeID ids.NodeID,
requestID uint32,
appErr *AppError,
) error
// CrossChainAppRequest handles a cross-chain request.
CrossChainAppRequest(
ctx context.Context,
chainID ids.ID,
requestID uint32,
deadline time.Time,
msg []byte,
) error
// CrossChainAppResponse handles a cross-chain response to a request this
// node sent.
CrossChainAppResponse(
ctx context.Context,
chainID ids.ID,
requestID uint32,
msg []byte,
) error
// CrossChainAppRequestFailed notifies the consensus engine that a
// CrossChainAppRequest it sent failed or timed out.
CrossChainAppRequestFailed(
ctx context.Context,
chainID ids.ID,
requestID uint32,
appErr *AppError,
) error
}
AppHandler defines application-level functionality that must be implemented by a consensus engine
type AppMessage ¶
type AppMessage interface {
Message
}
AppMessage represents an application message
type AppSender ¶ added in v1.11.10
type AppSender interface {
// SendAppRequest sends an application request
SendAppRequest(nodeID ids.NodeID, requestID uint32, msg []byte) error
// SendAppResponse sends an application response
SendAppResponse(nodeID ids.NodeID, requestID uint32, msg []byte) error
// SendCrossChainAppRequest sends a cross-chain application request
SendCrossChainAppRequest(chainID ids.ID, requestID uint32, msg []byte) error
// SendCrossChainAppResponse sends a cross-chain application response
SendCrossChainAppResponse(chainID ids.ID, requestID uint32, msg []byte) error
}
AppSender sends application messages
type Engine ¶
type Engine interface {
Handler
// GetVM returns this engine's VM
GetVM() interface{}
}
Engine describes the common functionality of all consensus engines
type Handler ¶
type Handler interface {
AppHandler
// Notify this engine of peer changes.
Connected(ctx context.Context, nodeID ids.NodeID, nodeVersion *version.Application) error
Disconnected(ctx context.Context, nodeID ids.NodeID) error
// HealthCheck returns nil if this engine is healthy.
// Otherwise, it should return an error that will prevent the node from
// reporting healthy.
HealthCheck(ctx context.Context) (interface{}, error)
}
Handler defines the functions that a consensus engine must implement
Click to show internal directories.
Click to hide internal directories.