manager

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2024 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager struct {
	Logger       *log.Logger
	DB           *DB
	Srv          *http.Server
	Router       *chi.Mux
	PluginParams PluginParams
	// A map of each name to plugin. This should probably be a
	// “sync.Map“, because it will be accessed by
	// “{ CrossPlugin; APIPlugin }“ HTTP handlers.
	Plugins map[string]Plugin
	// Plugins that implement CrossPlugin
	IPlugins []CrossPlugin

	DSN string
}

func GetDefaultManager

func GetDefaultManager(logger *log.Logger) (*Manager, error)

Returns a Manager using “config/hub.yml“ to set up.

func GetManager

func GetManager(logger *log.Logger, dsn string) (*Manager, error)

func (*Manager) AddPluginFile

func (m *Manager) AddPluginFile(filename string) error

func (*Manager) AddPlugins

func (m *Manager) AddPlugins(plugins ...Plugin) (int, error)

func (*Manager) Finalize

func (m *Manager) Finalize()

func (*Manager) GetPluginMap

func (m *Manager) GetPluginMap() map[string]Plugin

func (*Manager) Listen

func (m *Manager) Listen(_srv *http.Server)

func (*Manager) Shutdown

func (m *Manager) Shutdown() error

Jump to

Keyboard shortcuts

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