Documentation ¶
Index ¶
- func GetModOptVal(opts map[string]string, key string) string
- func InitializeDefaultModules() error
- func Instances() <-chan *Instance
- func RegisterModule(name string, ignoreFailOnInit bool, initFunc Init, defaultConfigs []*Config) int32
- func StartDefaultModules() error
- func StartModule(modInstID int32) 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 ¶
func InitializeDefaultModules() error
InitializeDefaultModules initializes the default modules.
func Instances ¶ added in v0.2.1
func Instances() <-chan *Instance
Instances returns a channel that receives the instantiated module instances.
func RegisterModule ¶
func RegisterModule( name string, ignoreFailOnInit bool, initFunc Init, defaultConfigs []*Config) int32
RegisterModule registers a module.
func StartDefaultModules ¶
func StartDefaultModules() error
StartDefaultModules starts the default modules.
func StartModule ¶
StartModule starts the module with the provided instance ID.
Types ¶
type Config ¶ added in v0.2.1
type Config struct { Address string `json:"address"` Config *config.Config `json:"config,omitempty"` }
Config is a struct used to configure a module.
type Instance ¶ added in v0.2.1
type Instance struct { ID int32 `json:"id"` Type *Type `json:"-"` TypeID int32 `json:"typeId"` 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 instance ID.
type Module ¶
type Module interface { // Id gets the module's unique identifier. ID() int32 // 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.