rpcchainvm

package
v1.9.2 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2022 License: BSD-3-Clause Imports: 57 Imported by: 7

Documentation

Index

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

func New(vm block.ChainVM) plugin.Plugin

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

func Serve

func Serve(vm block.ChainVM)

Serve serves a ChainVM plugin using sane gRPC server defaults.

Types

type VMClient

type VMClient struct {
	*chain.State
	// contains filtered or unexported fields
}

VMClient is an implementation of a VM that talks over RPC.

func NewClient

func NewClient(client vmpb.VMClient) *VMClient

NewClient returns a VM connected to a remote VM

func (*VMClient) AppGossip

func (vm *VMClient) AppGossip(ctx context.Context, nodeID ids.NodeID, msg []byte) error

func (*VMClient) AppRequest

func (vm *VMClient) AppRequest(ctx context.Context, nodeID ids.NodeID, requestID uint32, deadline time.Time, request []byte) error

func (*VMClient) AppRequestFailed

func (vm *VMClient) AppRequestFailed(ctx context.Context, nodeID ids.NodeID, requestID uint32) error

func (*VMClient) AppResponse

func (vm *VMClient) AppResponse(ctx context.Context, nodeID ids.NodeID, requestID uint32, response []byte) error

func (*VMClient) BatchedParseBlock

func (vm *VMClient) BatchedParseBlock(blksBytes [][]byte) ([]snowman.Block, error)

func (*VMClient) Connected

func (vm *VMClient) Connected(nodeID ids.NodeID, nodeVersion *version.Application) error

func (*VMClient) CreateHandlers

func (vm *VMClient) CreateHandlers() (map[string]*common.HTTPHandler, error)

func (*VMClient) CreateStaticHandlers

func (vm *VMClient) CreateStaticHandlers() (map[string]*common.HTTPHandler, error)

func (*VMClient) CrossChainAppRequest added in v1.9.2

func (vm *VMClient) CrossChainAppRequest(ctx context.Context, chainID ids.ID, requestID uint32, deadline time.Time, request []byte) error

func (*VMClient) CrossChainAppRequestFailed added in v1.9.2

func (vm *VMClient) CrossChainAppRequestFailed(ctx context.Context, chainID ids.ID, requestID uint32) error

func (*VMClient) CrossChainAppResponse added in v1.9.2

func (vm *VMClient) CrossChainAppResponse(ctx context.Context, chainID ids.ID, requestID uint32, response []byte) error

func (*VMClient) Disconnected

func (vm *VMClient) Disconnected(nodeID ids.NodeID) error

func (*VMClient) Gather

func (vm *VMClient) Gather() ([]*dto.MetricFamily, error)

func (*VMClient) GetAncestors

func (vm *VMClient) GetAncestors(
	blkID ids.ID,
	maxBlocksNum int,
	maxBlocksSize int,
	maxBlocksRetrivalTime time.Duration,
) ([][]byte, error)

func (*VMClient) GetBlockIDAtHeight

func (vm *VMClient) GetBlockIDAtHeight(height uint64) (ids.ID, error)

func (*VMClient) GetLastStateSummary added in v1.8.4

func (vm *VMClient) GetLastStateSummary() (block.StateSummary, error)

func (*VMClient) GetOngoingSyncStateSummary added in v1.8.4

func (vm *VMClient) GetOngoingSyncStateSummary() (block.StateSummary, error)

func (*VMClient) GetStateSummary added in v1.8.4

func (vm *VMClient) GetStateSummary(summaryHeight uint64) (block.StateSummary, error)

func (*VMClient) HealthCheck

func (vm *VMClient) HealthCheck() (interface{}, error)

func (*VMClient) Initialize

func (vm *VMClient) Initialize(
	ctx *snow.Context,
	dbManager manager.Manager,
	genesisBytes []byte,
	upgradeBytes []byte,
	configBytes []byte,
	toEngine chan<- common.Message,
	fxs []*common.Fx,
	appSender common.AppSender,
) error

func (*VMClient) ParseStateSummary added in v1.8.4

func (vm *VMClient) ParseStateSummary(summaryBytes []byte) (block.StateSummary, error)

func (*VMClient) SetPreference

func (vm *VMClient) SetPreference(id ids.ID) error

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) SetState

func (vm *VMClient) SetState(state snow.State) error

func (*VMClient) Shutdown

func (vm *VMClient) Shutdown() error

func (*VMClient) StateSyncEnabled added in v1.8.4

func (vm *VMClient) StateSyncEnabled() (bool, error)

func (*VMClient) VerifyHeightIndex

func (vm *VMClient) VerifyHeightIndex() error

func (*VMClient) Version

func (vm *VMClient) Version() (string, error)

type VMServer

type VMServer struct {
	vmpb.UnsafeVMServer
	// contains filtered or unexported fields
}

VMServer is a VM that is managed over RPC.

func NewServer

func NewServer(vm block.ChainVM) *VMServer

NewServer returns a vm instance connected to a remote vm instance

func (*VMServer) AppGossip

func (vm *VMServer) AppGossip(ctx context.Context, req *vmpb.AppGossipMsg) (*emptypb.Empty, error)

func (*VMServer) AppRequest

func (vm *VMServer) AppRequest(ctx context.Context, req *vmpb.AppRequestMsg) (*emptypb.Empty, error)

func (*VMServer) AppRequestFailed

func (vm *VMServer) AppRequestFailed(ctx context.Context, req *vmpb.AppRequestFailedMsg) (*emptypb.Empty, error)

func (*VMServer) AppResponse

func (vm *VMServer) AppResponse(ctx context.Context, req *vmpb.AppResponseMsg) (*emptypb.Empty, error)

func (*VMServer) BatchedParseBlock

func (vm *VMServer) BatchedParseBlock(
	ctx context.Context,
	req *vmpb.BatchedParseBlockRequest,
) (*vmpb.BatchedParseBlockResponse, error)

func (*VMServer) BlockAccept

func (vm *VMServer) BlockAccept(_ context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error)

func (*VMServer) BlockReject

func (vm *VMServer) BlockReject(_ context.Context, req *vmpb.BlockRejectRequest) (*emptypb.Empty, error)

func (*VMServer) BlockVerify

func (*VMServer) BuildBlock

func (*VMServer) Connected

func (vm *VMServer) Connected(_ context.Context, req *vmpb.ConnectedRequest) (*emptypb.Empty, error)

func (*VMServer) CreateHandlers

func (*VMServer) CreateStaticHandlers

func (vm *VMServer) CreateStaticHandlers(context.Context, *emptypb.Empty) (*vmpb.CreateStaticHandlersResponse, error)

func (*VMServer) CrossChainAppRequest added in v1.9.2

func (vm *VMServer) CrossChainAppRequest(ctx context.Context, msg *vmpb.CrossChainAppRequestMsg) (*emptypb.Empty, error)

func (*VMServer) CrossChainAppRequestFailed added in v1.9.2

func (vm *VMServer) CrossChainAppRequestFailed(ctx context.Context, msg *vmpb.CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)

func (*VMServer) CrossChainAppResponse added in v1.9.2

func (vm *VMServer) CrossChainAppResponse(ctx context.Context, msg *vmpb.CrossChainAppResponseMsg) (*emptypb.Empty, error)

func (*VMServer) Disconnected

func (vm *VMServer) Disconnected(_ context.Context, req *vmpb.DisconnectedRequest) (*emptypb.Empty, error)

func (*VMServer) Gather

func (*VMServer) GetAncestors

func (*VMServer) GetBlock

func (*VMServer) GetBlockIDAtHeight

func (*VMServer) GetLastStateSummary added in v1.8.4

func (vm *VMServer) GetLastStateSummary(
	ctx context.Context,
	empty *emptypb.Empty,
) (*vmpb.GetLastStateSummaryResponse, error)

func (*VMServer) GetOngoingSyncStateSummary added in v1.8.4

func (vm *VMServer) GetOngoingSyncStateSummary(
	context.Context,
	*emptypb.Empty,
) (*vmpb.GetOngoingSyncStateSummaryResponse, error)

func (*VMServer) GetStateSummary added in v1.8.4

func (vm *VMServer) GetStateSummary(
	ctx context.Context,
	req *vmpb.GetStateSummaryRequest,
) (*vmpb.GetStateSummaryResponse, error)

func (*VMServer) Health

func (vm *VMServer) Health(ctx context.Context, req *emptypb.Empty) (*vmpb.HealthResponse, error)

func (*VMServer) Initialize

func (*VMServer) ParseBlock

func (*VMServer) ParseStateSummary added in v1.8.4

func (vm *VMServer) ParseStateSummary(
	ctx context.Context,
	req *vmpb.ParseStateSummaryRequest,
) (*vmpb.ParseStateSummaryResponse, error)

func (*VMServer) SetPreference

func (vm *VMServer) SetPreference(_ context.Context, req *vmpb.SetPreferenceRequest) (*emptypb.Empty, error)

func (*VMServer) SetState

func (vm *VMServer) SetState(_ context.Context, stateReq *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)

func (*VMServer) Shutdown

func (vm *VMServer) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)

func (*VMServer) StateSummaryAccept added in v1.8.4

func (*VMServer) StateSyncEnabled added in v1.8.4

func (*VMServer) VerifyHeightIndex

func (*VMServer) Version

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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