Version: v2.9.5 Latest Latest

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

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



Package plugin provides the ability to load plugins

Package plugin provides the ability to load plugins



This section is empty.


View Source
var (
	// Default plugin loader
	DefaultPlugin = NewPlugin()


func Build

func Build(path string, c *Config) error

func Init

func Init(c *Config) error


type Config

type Config struct {
	// Name of the plugin e.g rabbitmq
	Name string
	// Type of the plugin e.g broker
	Type string
	// Path specifies the import path
	Path string
	// NewFunc creates an instance of the plugin
	NewFunc interface{}

Config is the plugin config

func Load

func Load(path string) (*Config, error)

type Plugin

type Plugin interface {
	// Initialise a plugin with the config
	Init(c *Config) error
	// Load loads a .so plugin at the given path
	Load(path string) (*Config, error)
	// Build a .so plugin with config at the path specified
	Build(path string, c *Config) error

Plugin is a plugin loaded from a file

func NewPlugin

func NewPlugin() Plugin

NewPlugin creates a new plugin interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL