Documentation
¶
Index ¶
- type Manager
- func (m *Manager) GetPlugin(name string) (Plugin, bool)
- func (m *Manager) ListPlugins() []string
- func (m *Manager) LoadPlugin(path string, config map[string]interface{}) error
- func (m *Manager) Process(ctx context.Context, data interface{}) error
- func (m *Manager) Shutdown(ctx context.Context) error
- type Plugin
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles plugin lifecycle and communication
func NewManager ¶
NewManager creates a new plugin manager
func (*Manager) ListPlugins ¶
ListPlugins returns a list of loaded plugins
func (*Manager) LoadPlugin ¶
LoadPlugin loads a plugin from a .so file
type Plugin ¶
type Plugin interface {
// Initialize sets up the plugin
Initialize(ctx context.Context, config map[string]interface{}) error
// Name returns the plugin's name
Name() string
// Version returns the plugin's version
Version() string
// Type returns the plugin type (output, analysis, processor)
Type() string
// Process handles incoming data
Process(ctx context.Context, data interface{}) error
// Shutdown cleans up plugin resources
Shutdown(ctx context.Context) error
}
Plugin defines the interface that all plugins must implement
Click to show internal directories.
Click to hide internal directories.