rpcchainvm

package
v1.2.4-arm-fix Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2021 License: BSD-3-Clause Imports: 41 Imported by: 49

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Handshake = plugin.HandshakeConfig{
	ProtocolVersion:  1,
	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 added in v1.1.2

func (b *BlockClient) Height() uint64

func (*BlockClient) ID

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

func (*BlockClient) Parent

func (b *BlockClient) Parent() snowman.Block

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
	Config string
}

Factory ...

func (*Factory) New

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

New ...

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 {
	// 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 added in v0.8.0

func (vm *VMClient) Bootstrapped() error

func (*VMClient) Bootstrapping added in v0.8.0

func (vm *VMClient) Bootstrapping() error

func (*VMClient) BuildBlock

func (vm *VMClient) BuildBlock() (snowman.Block, error)

func (*VMClient) CreateHandlers

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

func (*VMClient) GetBlock

func (vm *VMClient) GetBlock(id ids.ID) (snowman.Block, error)

func (*VMClient) HealthCheck added in v1.2.1

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

func (*VMClient) Initialize

func (vm *VMClient) Initialize(
	ctx *snow.Context,
	db database.Database,
	genesisBytes []byte,
	toEngine chan<- common.Message,
	fxs []*common.Fx,
) error

func (*VMClient) LastAccepted

func (vm *VMClient) LastAccepted() (ids.ID, error)

func (*VMClient) ParseBlock

func (vm *VMClient) ParseBlock(bytes []byte) (snowman.Block, 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

type VMServer

type VMServer struct {
	// 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) Bootstrapped added in v0.8.0

func (*VMServer) Bootstrapping added in v0.8.0

func (*VMServer) BuildBlock

func (*VMServer) CreateHandlers

func (*VMServer) GetBlock

func (*VMServer) Health added in v1.0.3

func (*VMServer) Initialize

func (*VMServer) ParseBlock

func (*VMServer) SetPreference

func (*VMServer) Shutdown

Jump to

Keyboard shortcuts

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