rpcchainvm

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2021 License: BSD-3-Clause Imports: 39 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Handshake = plugin.HandshakeConfig{
	ProtocolVersion:  5,
	MagicCookieKey:   "VM_PLUGIN",
	MagicCookieValue: "dynamic",
}

Handshake is a common handshake that is shared by plugin and host.

View Source
var PluginMap = map[string]plugin.Plugin{
	"vm": &Plugin{},
}

PluginMap is the map of plugins we can dispense.

Functions

This section is empty.

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

type Plugin struct {
	plugin.NetRPCUnsupportedPlugin
	// contains filtered or unexported fields
}

Plugin is the implementation of plugin.Plugin so we can serve/consume this. We also implement GRPCPlugin so that this plugin can be served over gRPC.

func New

func New(vm block.ChainVM) *Plugin

New creates a new plugin from the provided VM

func (*Plugin) GRPCClient

func (p *Plugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

GRPCClient returns a new GRPC client

func (*Plugin) GRPCServer

func (p *Plugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

GRPCServer registers a new GRPC server.

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

func (vm *VMClient) Bootstrapped() error

func (*VMClient) Bootstrapping

func (vm *VMClient) Bootstrapping() error

func (*VMClient) Connected

func (vm *VMClient) Connected(id ids.ShortID) 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(id ids.ShortID) 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,
) 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) Shutdown

func (vm *VMClient) Shutdown() 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) BlockAccept

func (*VMServer) BlockReject

func (*VMServer) BlockVerify

func (*VMServer) BuildBlock

func (*VMServer) CreateHandlers

func (*VMServer) GetBlock

func (*VMServer) Health

func (*VMServer) Initialize

func (*VMServer) ParseBlock

func (*VMServer) SetPreference

func (*VMServer) Shutdown

func (*VMServer) Version

Jump to

Keyboard shortcuts

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