plugins

package
v1.8.3 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2015 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound = errors.New("Plugin not found")
)
View Source
var (
	ErrNotImplements = errors.New("Plugin does not implement the requested driver")
)

Functions

func Handle

func Handle(iface string, fn func(string, *Client))

Types

type Client

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

func NewClient

func NewClient(addr string, tlsConfig tlsconfig.Options) (*Client, error)

func (*Client) Call

func (c *Client) Call(serviceMethod string, args interface{}, ret interface{}) error

type LocalRegistry

type LocalRegistry struct{}

func (*LocalRegistry) Plugin

func (l *LocalRegistry) Plugin(name string) (*Plugin, error)

type Manifest

type Manifest struct {
	Implements []string
}

type Plugin

type Plugin struct {
	Name      string `json:"-"`
	Addr      string
	TLSConfig tlsconfig.Options
	Client    *Client   `json:"-"`
	Manifest  *Manifest `json:"-"`
}

func Get

func Get(name, imp string) (*Plugin, error)

type Registry

type Registry interface {
	Plugins() ([]*Plugin, error)
	Plugin(name string) (*Plugin, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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