server

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2017 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PluginInfo added in v0.2.0

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

PluginInfo is the service object for the RPC metadata service

func NewPluginInfo added in v0.2.0

func NewPluginInfo(receiver interface{}) (*PluginInfo, error)

NewPluginInfo returns an instance of the metadata service

func (*PluginInfo) Register added in v0.2.0

func (m *PluginInfo) Register(receiver interface{}) error

Register registers an rpc-capable object for introspection and metadata service

func (*PluginInfo) ShowAPI added in v0.3.1

func (m *PluginInfo) ShowAPI(resp http.ResponseWriter, req *http.Request)

ShowAPI responds by returning information about the plugin.

func (*PluginInfo) ShowTemplateFunctions added in v0.3.1

func (m *PluginInfo) ShowTemplateFunctions(resp http.ResponseWriter, req *http.Request)

ShowTemplateFunctions responds by returning information about template functions the plugin expopses.

type Stoppable

type Stoppable interface {
	Stop()
	AwaitStopped()
}

Stoppable support proactive stopping, and blocking until stopped.

func StartPluginAtPath

func StartPluginAtPath(socketPath string, receiver VersionedInterface, more ...VersionedInterface) (Stoppable, error)

StartPluginAtPath starts an HTTP server listening on a unix socket at the specified path. Returns a Stoppable that can be used to stop or block on the server.

type TypedFunctionExporter added in v0.3.1

type TypedFunctionExporter interface {

	// Types returns a list of types in this plugin
	Types() []string

	// FuncsByType returns the template functions exported by each typed plugin
	FuncsByType(string) []template.Function
}

TypedFunctionExporter is an interface implemented by plugins that supports multiple types in a single RPC endpoint. Each typed plugin can export some functions and this interface provides metadata about them.

type VersionedInterface

type VersionedInterface interface {
	// ImplementedInterface returns the interface being provided.
	ImplementedInterface() spi.InterfaceSpec
}

A VersionedInterface identifies which Interfaces a plugin supports.

Jump to

Keyboard shortcuts

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