rpcchainvm

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2022 License: BSD-3-Clause Imports: 50 Imported by: 0

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:  10,
		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 RegisterPlugins

func RegisterPlugins(pluginDir string, manager vms.Manager) error

RegisterPlugins iterates over a given plugin dir and registers rpcchain VMs for each of the discovered plugins.

Types

type BlockClient

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

BlockClient is an implementation of Block that talks over RPC.

func (*BlockClient) Accept

func (b *BlockClient) Accept() error

func (*BlockClient) Bytes

func (b *BlockClient) Bytes() []byte

func (*BlockClient) Height

func (b *BlockClient) Height() uint64

func (*BlockClient) ID

func (b *BlockClient) ID() ids.ID

func (*BlockClient) Parent

func (b *BlockClient) Parent() ids.ID

func (*BlockClient) Reject

func (b *BlockClient) Reject() error

func (*BlockClient) Status

func (b *BlockClient) Status() choices.Status

func (*BlockClient) Timestamp

func (b *BlockClient) Timestamp() time.Time

func (*BlockClient) Verify

func (b *BlockClient) Verify() error

type Factory

type Factory struct {
	Path string
}

func (*Factory) New

func (f *Factory) New(ctx *snow.Context) (interface{}, error)

type VMClient

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

VMClient is an implementation of VM that talks over RPC.

func NewClient

func NewClient(client vmproto.VMClient, broker *plugin.GRPCBroker) *VMClient

NewClient returns a VM connected to a remote VM

func (*VMClient) AppGossip

func (vm *VMClient) AppGossip(nodeID ids.ShortID, msg []byte) error

func (*VMClient) AppRequest

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

func (*VMClient) AppRequestFailed

func (vm *VMClient) AppRequestFailed(nodeID ids.ShortID, requestID uint32) error

func (*VMClient) AppResponse

func (vm *VMClient) AppResponse(nodeID ids.ShortID, 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.ShortID, 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) Disconnected

func (vm *VMClient) Disconnected(nodeID ids.ShortID) 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) 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) SetPreference

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

func (*VMClient) SetProcess

func (vm *VMClient) SetProcess(proc *plugin.Client)

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

func (vm *VMClient) VerifyHeightIndex() error

func (*VMClient) Version

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

type VMServer

type VMServer struct {
	vmproto.UnimplementedVMServer
	// contains filtered or unexported fields
}

VMServer is a VM that is managed over RPC.

func NewServer

func NewServer(vm block.ChainVM, broker *plugin.GRPCBroker) *VMServer

NewServer returns a vm instance connected to a remote vm instance

func (*VMServer) AppGossip

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

func (*VMServer) AppRequest

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

func (*VMServer) AppRequestFailed

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

func (*VMServer) AppResponse

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

func (*VMServer) BatchedParseBlock

func (*VMServer) BlockAccept

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

func (*VMServer) BlockReject

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

func (*VMServer) BlockVerify

func (*VMServer) BuildBlock

func (*VMServer) Connected

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

func (*VMServer) CreateHandlers

func (*VMServer) CreateStaticHandlers

func (*VMServer) Disconnected

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

func (*VMServer) Gather

func (*VMServer) GetAncestors

func (*VMServer) GetBlock

func (*VMServer) Health

func (*VMServer) Initialize

func (*VMServer) ParseBlock

func (*VMServer) SetPreference

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

func (*VMServer) SetState

func (vm *VMServer) SetState(_ context.Context, stateReq *vmproto.SetStateRequest) (*emptypb.Empty, error)

func (*VMServer) Shutdown

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

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