Versions in this module Expand all Collapse all v1 v1.1.0 Apr 30, 2026 v1.0.0 Apr 29, 2026 Changes in this version + var ErrAlreadyRegistered = errors.New("plugin: already registered") + var ErrFactoryExists = errors.New("plugin: factory already exists") + var ErrFactoryNotFound = errors.New("plugin: factory not found") + type ExecSandbox struct + func NewExecSandbox(path string, args ...string) *ExecSandbox + func (e *ExecSandbox) Start(ctx context.Context) error + func (e *ExecSandbox) Stop() error + type Factory func() Plugin + func LoadSo(path string) (Factory, error) + type FactoryRegistry struct + func NewFactoryRegistry() *FactoryRegistry + func (f *FactoryRegistry) Create(name string) (Plugin, error) + func (f *FactoryRegistry) Register(name string, factory Factory) error + type Plugin interface + Name func() string + Start func() error + Stop func() error + type Registry struct + func NewRegistry() *Registry + func (r *Registry) DiscoverFromValues(values ...interface{}) int + func (r *Registry) Get(name string) (Plugin, bool) + func (r *Registry) Names() []string + func (r *Registry) Register(p Plugin) error + func (r *Registry) StartAll() []error + func (r *Registry) StopAll() []error + func (r *Registry) Unregister(name string)