Documentation
¶
Index ¶
- func GetModOptVal(opts map[string]string, key string) string
- func InitializeDefaultModules(ctx apitypes.Context, config gofig.Config) error
- func Instances() <-chan *Instance
- func RegisterModule(name string, initFunc Init)
- func Start(ctx apitypes.Context, config gofig.Config) (apitypes.Context, <-chan error, error)
- func StartDefaultModules(ctx apitypes.Context, config gofig.Config) error
- func StartModule(ctx apitypes.Context, config gofig.Config, name string) error
- func StopModules(ctx apitypes.Context) error
- func Types() <-chan *Type
- type Config
- type Init
- type Instance
- type Module
- type Type
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetModOptVal ¶
GetModOptVal gets a module's option value.
func InitializeDefaultModules ¶
InitializeDefaultModules initializes the default modules.
func Instances ¶
func Instances() <-chan *Instance
Instances returns a channel that receives the instantiated module instances.
func RegisterModule ¶
RegisterModule registers a module type.
func StartDefaultModules ¶
StartDefaultModules starts the default modules.
func StartModule ¶
StartModule starts the module with the provided instance name.
Types ¶
type Config ¶
type Config struct {
Name string `json:"name"`
Type string `json:"type"`
Description string `json:"description"`
Address string `json:"address"`
Config gofig.Config `json:"config,omitempty"`
Client apitypes.Client `json:"-"`
}
Config is a struct used to configure a module.
type Instance ¶
type Instance struct {
Type *Type `json:"-"`
TypeName string `json:"typeName"`
Inst Module `json:"-"`
Name string `json:"name"`
Config *Config `json:"config,omitempty"`
Description string `json:"description"`
IsStarted bool `json:"started"`
}
Instance is a struct that describes a module instance
func GetModuleInstance ¶
GetModuleInstance gets the module instance with the provided name.
type Module ¶
type Module interface {
// Start starts the module.
Start() error
// Stop signals the module to stop.
Stop() error
// Name is the name of the module.
Name() string
// Address is the network address at which the module is available.
Address() string
// Description is a free-form field ot add descriptive information about
// the module instance.
Description() string
}
Module is the interface to which types adhere in order to participate as daemon modules.
Click to show internal directories.
Click to hide internal directories.