plugin

package
v3.0.0-...-dfa6fcf Latest Latest
Warning

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

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

Documentation

Overview

Package plugin provides the ability to load plugins

Package plugin provides the ability to load plugins

Index

Constants

This section is empty.

Variables

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

Functions

func Build

func Build(path string, c *Config) error

Types

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 {
	// 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
y or Y : Canonical URL