module

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2015 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetModOptVal

func GetModOptVal(opts map[string]string, key string) string

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

func StartModule(modInstID int32) error

StartModule starts the module with the provided instance ID.

func Types added in v0.2.1

func Types() <-chan *Type

Types returns a channel that receives the registered module types.

Types

type Config added in v0.2.1

type Config struct {
	Address string       `json:"address"`
	Config  gofig.Config `json:"config,omitempty"`
}

Config is a struct used to configure a module.

type Init

type Init func(id int32, config *Config) (Module, error)

Init initializes the 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

func GetModuleInstance(modInstID int32) (*Instance, error)

GetModuleInstance gets the module instance with the provided instance ID.

func InitializeModule

func InitializeModule(
	modTypeID int32,
	modConfig *Config) (*Instance, error)

InitializeModule initializes a module.

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.

type Type added in v0.2.1

type Type struct {
	ID               int32     `json:"id"`
	Name             string    `json:"name"`
	IgnoreFailOnInit bool      `json:"-"`
	InitFunc         Init      `json:"-"`
	DefaultConfigs   []*Config `json:"defaultConfigs"`
}

Type is a struct that describes a module type

Directories

Path Synopsis
docker

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL