Documentation ¶
Overview ¶
Package pluginator is a low-level plugin manager, working on go source code from the file system or consul
Index ¶
- type PluginContent
- type Pluginator
- func (p *Pluginator) Start() error
- func (p *Pluginator) SubscribeAdd(f func(string, *PluginContent))
- func (p *Pluginator) SubscribeRemove(f func(string, *PluginContent))
- func (p *Pluginator) SubscribeScan(f func(map[string]*PluginContent))
- func (p *Pluginator) SubscribeUpdate(f func(string, *PluginContent))
- func (p *Pluginator) Terminate()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PluginContent ¶
PluginContent is sent on pluginator events. It contains the actual library that was loaded and its source code.
type Pluginator ¶
type Pluginator struct {
// contains filtered or unexported fields
}
Pluginator is lib's entry point
func NewPluginatorC ¶
func NewPluginatorC(host string, port int, keyPrefix string) (*Pluginator, error)
NewPluginatorC instantiates a new Pluginator, watching the subkeys of keyPrefix on the host:port consul instance
func NewPluginatorF ¶
func NewPluginatorF(PluginDir string) (*Pluginator, error)
NewPluginatorF instantiates a new Pluginator, watching the PluginDir diretory
func (*Pluginator) Start ¶
func (p *Pluginator) Start() error
Start start a Pluginator. It will perform a scan of the watched dir/consul key
func (*Pluginator) SubscribeAdd ¶
func (p *Pluginator) SubscribeAdd(f func(string, *PluginContent))
SubscribeAdd subscribes its argument to add events (plugin adds)
func (*Pluginator) SubscribeRemove ¶
func (p *Pluginator) SubscribeRemove(f func(string, *PluginContent))
SubscribeRemove subscribes its argument to remove events (plugin removal)
func (*Pluginator) SubscribeScan ¶
func (p *Pluginator) SubscribeScan(f func(map[string]*PluginContent))
SubscribeScan subscribes its argument to scan events (they happen at start time)
func (*Pluginator) SubscribeUpdate ¶
func (p *Pluginator) SubscribeUpdate(f func(string, *PluginContent))
SubscribeUpdate subscribe its argument to update events (changes in plugin code)
func (*Pluginator) Terminate ¶
func (p *Pluginator) Terminate()
Terminate makes a Pluginator stop watching a directory/consul key