Documentation ¶
Overview ¶
Package extensions consumes extensions in stencil
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExtensionCaller ¶
type ExtensionCaller struct {
// contains filtered or unexported fields
}
ExtensionCaller calls extension functions
func (*ExtensionCaller) Call ¶
func (ec *ExtensionCaller) Call(args ...interface{}) (interface{}, error)
Call returns a function based on its path, e.g. test.callFunction
type Host ¶
type Host struct {
// contains filtered or unexported fields
}
Host implements an extension host that handles registering extensions and executing them.
func (*Host) Close ¶
Close terminates the extension host, which in turn stops all current native extensions
func (*Host) GetExtensionCaller ¶
func (h *Host) GetExtensionCaller(_ context.Context) (*ExtensionCaller, error)
GetExtensionCaller returns an extension caller that's aware of all extension functions
func (*Host) RegisterExtension ¶
func (h *Host) RegisterExtension(ctx context.Context, source, name string, version *resolver.Version) error
RegisterExtension registers a ext from a given source and compiles/downloads it. A client is then created that is able to communicate with the ext.
func (*Host) RegisterInprocExtension ¶
func (h *Host) RegisterInprocExtension(name string, ext apiv1.Implementation)
RegisterInprocExtension registers an extension that is implemented within the same process directly with the host. Please limit the use of this API for unit testing only!
Directories ¶
Path | Synopsis |
---|---|
Package apiv1 implements the bridge between a extension and go-plugin providing most of the implementation for the extension if it's written in Go.
|
Package apiv1 implements the bridge between a extension and go-plugin providing most of the implementation for the extension if it's written in Go. |