inproccontroller

package
v0.0.0-...-15ab7cc Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const ContainerType = "SYSTEM"

ContainerType is the string which the inproc container type is registered with the container.VMController

Variables

This section is empty.

Functions

This section is empty.

Types

type InprocVM

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

InprocVM is a vm. It is identified by a executable name

func NewInprocVM

func NewInprocVM(r *Registry) *InprocVM

NewInprocVM creates a new InprocVM

func (*InprocVM) GetVMName

func (vm *InprocVM) GetVMName(ccid ccintf.CCID) string

GetVMName ignores the peer and network name as it just needs to be unique in process. It accepts a format function parameter to allow different formatting based on the desired use of the name.

func (*InprocVM) HealthCheck

func (vm *InprocVM) HealthCheck(ctx context.Context) error

HealthCheck is provided in order to implement the VMProvider interface. It always returns nil..

func (*InprocVM) Start

func (vm *InprocVM) Start(ccid ccintf.CCID, args []string, env []string, filesToUpload map[string][]byte, builder container.Builder) error

Start starts a previously registered system codechain

func (*InprocVM) Stop

func (vm *InprocVM) Stop(ccid ccintf.CCID, timeout uint, dontkill bool, dontremove bool) error

Stop stops a system codechain

func (*InprocVM) Wait

func (vm *InprocVM) Wait(ccid ccintf.CCID) (int, error)

Wait will block until the chaincode is stopped.

type Registry

type Registry struct {
	ChaincodeSupport ccintf.CCSupport
	// contains filtered or unexported fields
}

Registry stores registered system chaincodes. It implements container.VMProvider and scc.Registrar

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates an initialized registry, ready to register system chaincodes. The returned *Registry is _not_ ready to use as is. You must set the ChaincodeSupport as soon as one is available, before any chaincode invocations occur. This is because the chaincode support used to be a latent dependency, snuck in on the context, but now it is being made an explicit part of the startup.

func (*Registry) NewVM

func (r *Registry) NewVM() container.VM

NewVM creates an inproc VM instance

func (*Registry) Register

func (r *Registry) Register(ccid *ccintf.CCID, cc shim.Chaincode) error

Register registers system chaincode with given path. The deploy should be called to initialize

type SendPanicFailure

type SendPanicFailure string

SendPanicFailure

func (SendPanicFailure) Error

func (e SendPanicFailure) Error() string

type SysCCRegisteredErr

type SysCCRegisteredErr string

SysCCRegisteredErr registered error

func (SysCCRegisteredErr) Error

func (s SysCCRegisteredErr) Error() string

Jump to

Keyboard shortcuts

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