Documentation ¶
Index ¶
- Variables
- func New(vm block.ChainVM) plugin.Plugin
- func NewFactory(path string, processTracker resource.ProcessTracker) vms.Factory
- func Serve(vm block.ChainVM)
- type VMClient
- func (vm *VMClient) AppGossip(ctx context.Context, nodeID ids.NodeID, msg []byte) error
- func (vm *VMClient) AppRequest(ctx context.Context, nodeID ids.NodeID, requestID uint32, deadline time.Time, ...) error
- func (vm *VMClient) AppRequestFailed(ctx context.Context, nodeID ids.NodeID, requestID uint32) error
- func (vm *VMClient) AppResponse(ctx context.Context, nodeID ids.NodeID, requestID uint32, response []byte) error
- func (vm *VMClient) BatchedParseBlock(ctx context.Context, blksBytes [][]byte) ([]snowman.Block, error)
- func (vm *VMClient) Connected(ctx context.Context, nodeID ids.NodeID, nodeVersion *version.Application) error
- func (vm *VMClient) CreateHandlers(ctx context.Context) (map[string]*common.HTTPHandler, error)
- func (vm *VMClient) CreateStaticHandlers(ctx context.Context) (map[string]*common.HTTPHandler, error)
- func (vm *VMClient) CrossChainAppRequest(ctx context.Context, chainID ids.ID, requestID uint32, deadline time.Time, ...) error
- func (vm *VMClient) CrossChainAppRequestFailed(ctx context.Context, chainID ids.ID, requestID uint32) error
- func (vm *VMClient) CrossChainAppResponse(ctx context.Context, chainID ids.ID, requestID uint32, response []byte) error
- func (vm *VMClient) Disconnected(ctx context.Context, nodeID ids.NodeID) error
- func (vm *VMClient) Gather() ([]*dto.MetricFamily, error)
- func (vm *VMClient) GetAncestors(ctx context.Context, blkID ids.ID, maxBlocksNum int, maxBlocksSize int, ...) ([][]byte, error)
- func (vm *VMClient) GetBlockIDAtHeight(ctx context.Context, height uint64) (ids.ID, error)
- func (vm *VMClient) GetLastStateSummary(ctx context.Context) (block.StateSummary, error)
- func (vm *VMClient) GetOngoingSyncStateSummary(ctx context.Context) (block.StateSummary, error)
- func (vm *VMClient) GetStateSummary(ctx context.Context, summaryHeight uint64) (block.StateSummary, error)
- func (vm *VMClient) HealthCheck(ctx context.Context) (interface{}, error)
- func (vm *VMClient) Initialize(ctx context.Context, chainCtx *snow.Context, dbManager manager.Manager, ...) error
- func (vm *VMClient) ParseStateSummary(ctx context.Context, summaryBytes []byte) (block.StateSummary, error)
- func (vm *VMClient) SetPreference(ctx context.Context, blkID ids.ID) error
- func (vm *VMClient) SetProcess(ctx *snow.Context, proc *plugin.Client, processTracker resource.ProcessTracker)
- func (vm *VMClient) SetState(ctx context.Context, state snow.State) error
- func (vm *VMClient) Shutdown(ctx context.Context) error
- func (vm *VMClient) StateSyncEnabled(ctx context.Context) (bool, error)
- func (vm *VMClient) VerifyHeightIndex(ctx context.Context) error
- func (vm *VMClient) Version(ctx context.Context) (string, error)
- type VMServer
- func (vm *VMServer) AppGossip(ctx context.Context, req *vmpb.AppGossipMsg) (*emptypb.Empty, error)
- func (vm *VMServer) AppRequest(ctx context.Context, req *vmpb.AppRequestMsg) (*emptypb.Empty, error)
- func (vm *VMServer) AppRequestFailed(ctx context.Context, req *vmpb.AppRequestFailedMsg) (*emptypb.Empty, error)
- func (vm *VMServer) AppResponse(ctx context.Context, req *vmpb.AppResponseMsg) (*emptypb.Empty, error)
- func (vm *VMServer) BatchedParseBlock(ctx context.Context, req *vmpb.BatchedParseBlockRequest) (*vmpb.BatchedParseBlockResponse, error)
- func (vm *VMServer) BlockAccept(ctx context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error)
- func (vm *VMServer) BlockReject(ctx context.Context, req *vmpb.BlockRejectRequest) (*emptypb.Empty, error)
- func (vm *VMServer) BlockVerify(ctx context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error)
- func (vm *VMServer) BuildBlock(ctx context.Context, req *vmpb.BuildBlockRequest) (*vmpb.BuildBlockResponse, error)
- func (vm *VMServer) Connected(ctx context.Context, req *vmpb.ConnectedRequest) (*emptypb.Empty, error)
- func (vm *VMServer) CreateHandlers(ctx context.Context, _ *emptypb.Empty) (*vmpb.CreateHandlersResponse, error)
- func (vm *VMServer) CreateStaticHandlers(ctx context.Context, _ *emptypb.Empty) (*vmpb.CreateStaticHandlersResponse, error)
- func (vm *VMServer) CrossChainAppRequest(ctx context.Context, msg *vmpb.CrossChainAppRequestMsg) (*emptypb.Empty, error)
- func (vm *VMServer) CrossChainAppRequestFailed(ctx context.Context, msg *vmpb.CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
- func (vm *VMServer) CrossChainAppResponse(ctx context.Context, msg *vmpb.CrossChainAppResponseMsg) (*emptypb.Empty, error)
- func (vm *VMServer) Disconnected(ctx context.Context, req *vmpb.DisconnectedRequest) (*emptypb.Empty, error)
- func (vm *VMServer) Gather(context.Context, *emptypb.Empty) (*vmpb.GatherResponse, error)
- func (vm *VMServer) GetAncestors(ctx context.Context, req *vmpb.GetAncestorsRequest) (*vmpb.GetAncestorsResponse, error)
- func (vm *VMServer) GetBlock(ctx context.Context, req *vmpb.GetBlockRequest) (*vmpb.GetBlockResponse, error)
- func (vm *VMServer) GetBlockIDAtHeight(ctx context.Context, req *vmpb.GetBlockIDAtHeightRequest) (*vmpb.GetBlockIDAtHeightResponse, error)
- func (vm *VMServer) GetLastStateSummary(ctx context.Context, _ *emptypb.Empty) (*vmpb.GetLastStateSummaryResponse, error)
- func (vm *VMServer) GetOngoingSyncStateSummary(ctx context.Context, _ *emptypb.Empty) (*vmpb.GetOngoingSyncStateSummaryResponse, error)
- func (vm *VMServer) GetStateSummary(ctx context.Context, req *vmpb.GetStateSummaryRequest) (*vmpb.GetStateSummaryResponse, error)
- func (vm *VMServer) Health(ctx context.Context, _ *emptypb.Empty) (*vmpb.HealthResponse, error)
- func (vm *VMServer) Initialize(ctx context.Context, req *vmpb.InitializeRequest) (*vmpb.InitializeResponse, error)
- func (vm *VMServer) ParseBlock(ctx context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error)
- func (vm *VMServer) ParseStateSummary(ctx context.Context, req *vmpb.ParseStateSummaryRequest) (*vmpb.ParseStateSummaryResponse, error)
- func (vm *VMServer) SetPreference(ctx context.Context, req *vmpb.SetPreferenceRequest) (*emptypb.Empty, error)
- func (vm *VMServer) SetState(ctx context.Context, stateReq *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)
- func (vm *VMServer) Shutdown(ctx context.Context, _ *emptypb.Empty) (*emptypb.Empty, error)
- func (vm *VMServer) StateSummaryAccept(ctx context.Context, req *vmpb.StateSummaryAcceptRequest) (*vmpb.StateSummaryAcceptResponse, error)
- func (vm *VMServer) StateSyncEnabled(ctx context.Context, _ *emptypb.Empty) (*vmpb.StateSyncEnabledResponse, error)
- func (vm *VMServer) VerifyHeightIndex(ctx context.Context, _ *emptypb.Empty) (*vmpb.VerifyHeightIndexResponse, error)
- func (vm *VMServer) Version(ctx context.Context, _ *emptypb.Empty) (*vmpb.VersionResponse, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Handshake is a common handshake that is shared by plugin and host. Handshake = plugin.HandshakeConfig{ ProtocolVersion: version.RPCChainVMProtocol, MagicCookieKey: "VM_PLUGIN", MagicCookieValue: "dynamic", } // PluginMap is the map of plugins we can dispense. PluginMap = map[string]plugin.Plugin{ "vm": &vmPlugin{}, } )
Functions ¶
func New ¶
New will be called by the server side of the plugin to pass into the server side PluginMap for dispatching.
func NewFactory ¶
func NewFactory(path string, processTracker resource.ProcessTracker) vms.Factory
Types ¶
type VMClient ¶
VMClient is an implementation of a VM that talks over RPC.
func (*VMClient) AppRequest ¶
func (*VMClient) AppRequestFailed ¶
func (*VMClient) AppResponse ¶
func (*VMClient) BatchedParseBlock ¶
func (*VMClient) CreateHandlers ¶
func (*VMClient) CreateStaticHandlers ¶
func (*VMClient) CrossChainAppRequest ¶
func (*VMClient) CrossChainAppRequestFailed ¶
func (*VMClient) CrossChainAppResponse ¶
func (*VMClient) Disconnected ¶
func (*VMClient) GetAncestors ¶
func (*VMClient) GetBlockIDAtHeight ¶
func (*VMClient) GetLastStateSummary ¶
func (*VMClient) GetOngoingSyncStateSummary ¶
func (*VMClient) GetStateSummary ¶
func (*VMClient) HealthCheck ¶
func (*VMClient) Initialize ¶
func (*VMClient) ParseStateSummary ¶
func (*VMClient) SetPreference ¶
func (*VMClient) SetProcess ¶
func (vm *VMClient) SetProcess(ctx *snow.Context, proc *plugin.Client, processTracker resource.ProcessTracker)
SetProcess gives ownership of the server process to the client.
func (*VMClient) StateSyncEnabled ¶
func (*VMClient) VerifyHeightIndex ¶
type VMServer ¶
type VMServer struct { vmpb.UnsafeVMServer // contains filtered or unexported fields }
VMServer is a VM that is managed over RPC.
func (*VMServer) AppRequest ¶
func (*VMServer) AppRequestFailed ¶
func (*VMServer) AppResponse ¶
func (*VMServer) BatchedParseBlock ¶
func (vm *VMServer) BatchedParseBlock( ctx context.Context, req *vmpb.BatchedParseBlockRequest, ) (*vmpb.BatchedParseBlockResponse, error)
func (*VMServer) BlockAccept ¶
func (*VMServer) BlockReject ¶
func (*VMServer) BlockVerify ¶
func (vm *VMServer) BlockVerify(ctx context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error)
func (*VMServer) BuildBlock ¶
func (vm *VMServer) BuildBlock(ctx context.Context, req *vmpb.BuildBlockRequest) (*vmpb.BuildBlockResponse, error)
If the underlying VM doesn't actually implement this method, its [BuildBlock] method will be called instead.
func (*VMServer) CreateHandlers ¶
func (*VMServer) CreateStaticHandlers ¶
func (*VMServer) CrossChainAppRequest ¶
func (*VMServer) CrossChainAppRequestFailed ¶
func (*VMServer) CrossChainAppResponse ¶
func (*VMServer) Disconnected ¶
func (*VMServer) GetAncestors ¶
func (vm *VMServer) GetAncestors(ctx context.Context, req *vmpb.GetAncestorsRequest) (*vmpb.GetAncestorsResponse, error)
func (*VMServer) GetBlock ¶
func (vm *VMServer) GetBlock(ctx context.Context, req *vmpb.GetBlockRequest) (*vmpb.GetBlockResponse, error)
func (*VMServer) GetBlockIDAtHeight ¶
func (vm *VMServer) GetBlockIDAtHeight( ctx context.Context, req *vmpb.GetBlockIDAtHeightRequest, ) (*vmpb.GetBlockIDAtHeightResponse, error)
func (*VMServer) GetLastStateSummary ¶
func (*VMServer) GetOngoingSyncStateSummary ¶
func (*VMServer) GetStateSummary ¶
func (vm *VMServer) GetStateSummary( ctx context.Context, req *vmpb.GetStateSummaryRequest, ) (*vmpb.GetStateSummaryResponse, error)
func (*VMServer) Initialize ¶
func (vm *VMServer) Initialize(ctx context.Context, req *vmpb.InitializeRequest) (*vmpb.InitializeResponse, error)
func (*VMServer) ParseBlock ¶
func (vm *VMServer) ParseBlock(ctx context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error)
func (*VMServer) ParseStateSummary ¶
func (vm *VMServer) ParseStateSummary( ctx context.Context, req *vmpb.ParseStateSummaryRequest, ) (*vmpb.ParseStateSummaryResponse, error)
func (*VMServer) SetPreference ¶
func (*VMServer) SetState ¶
func (vm *VMServer) SetState(ctx context.Context, stateReq *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)
func (*VMServer) StateSummaryAccept ¶
func (vm *VMServer) StateSummaryAccept( ctx context.Context, req *vmpb.StateSummaryAcceptRequest, ) (*vmpb.StateSummaryAcceptResponse, error)
func (*VMServer) StateSyncEnabled ¶
func (*VMServer) VerifyHeightIndex ¶
Click to show internal directories.
Click to hide internal directories.