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 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.