ginsider

package
v0.9.5 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2019 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakeUpBaseReq added in v0.4.0

func MakeUpBaseReq() rpctypes.UpBaseReq

MakeUpBaseReq makes base of request from current CallContext

Types

type GoInsider

type GoInsider struct {
	UpstreamClient *rpc.Client

	lrCommon.Serializer
	lrCommon.SystemError
	// contains filtered or unexported fields
}

GoInsider is an RPC interface to run code of plugins

func NewGoInsider

func NewGoInsider(path, network, address string) *GoInsider

NewGoInsider creates a new GoInsider instance validating arguments

func (*GoInsider) AddPlugin added in v0.6.3

func (gi *GoInsider) AddPlugin(ref insolar.Reference, path string) error

AddPlugin inject plugin by ref in gi memory

func (*GoInsider) DeactivateObject added in v0.6.0

func (gi *GoInsider) DeactivateObject(object insolar.Reference) error

DeactivateObject ...

func (*GoInsider) Deserialize

func (gi *GoInsider) Deserialize(from []byte, into interface{}) error

Deserialize - CBOR de-serializer wrapper: `from` -> `into`

func (*GoInsider) MakeErrorSerializable added in v0.4.0

func (gi *GoInsider) MakeErrorSerializable(e error) error

MakeErrorSerializable converts errors satisfying error interface to foundation.Error

func (*GoInsider) ObtainCode

func (gi *GoInsider) ObtainCode(ctx context.Context, ref insolar.Reference) (string, error)

ObtainCode returns path on the file system to the plugin, fetches it from a provider if it's not in the storage

func (*GoInsider) Plugin added in v0.0.5

func (gi *GoInsider) Plugin(ctx context.Context, ref insolar.Reference) (*plugin.Plugin, error)

Plugin loads Go plugin by reference and returns `*plugin.Plugin` ready to lookup symbols

func (*GoInsider) RouteCall

func (gi *GoInsider) RouteCall(ref insolar.Reference, immutable bool, saga bool, method string, args []byte, proxyPrototype insolar.Reference) ([]byte, error)

RouteCall ...

func (*GoInsider) SaveAsChild added in v0.0.6

func (gi *GoInsider) SaveAsChild(
	parentRef, classRef insolar.Reference, constructorName string, argsSerialized []byte,
) (
	*insolar.Reference, []byte, error,
)

SaveAsChild ...

func (*GoInsider) Serialize

func (gi *GoInsider) Serialize(what interface{}, to *[]byte) (err error)

Serialize - CBOR serializer wrapper: `what` -> `to`

func (*GoInsider) Upstream

func (gi *GoInsider) Upstream() (*rpc.Client, error)

Upstream returns RPC client connected to upstream server (goplugin)

type RPC

type RPC struct {
	GI *GoInsider
}

RPC struct with methods representing RPC interface of this code runner

func (*RPC) CallConstructor added in v0.0.5

func (t *RPC) CallConstructor(args rpctypes.DownCallConstructorReq, reply *rpctypes.DownCallConstructorResp) (err error)

CallConstructor is an RPC that runs a method on an object and returns a new state of the object and result of the method

func (*RPC) CallMethod added in v0.0.5

func (t *RPC) CallMethod(args rpctypes.DownCallMethodReq, reply *rpctypes.DownCallMethodResp) (err error)

CallMethod is an RPC that runs a method on an object and returns a new state of the object and result of the method

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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