service

package
v0.0.0-...-bac99df Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const GlobalConfigServiceID = "global"
View Source
const (
	PayloadNil = -1
)

Variables

View Source
var ErrDuplicateFactory = errors.New("duplicate factory")
View Source
var ErrProducerIsNil = errors.New("producer is nil")
View Source
var ErrUnsupportedService = errors.New("unsupported service")

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Functions

This section is empty.

Types

type Config

type Config struct {
	// contains filtered or unexported fields
}

func NewConfig

func NewConfig() *Config

func (Config) GetID

func (c Config) GetID() int

func (Config) GetPutPayloadSec

func (c Config) GetPutPayloadSec() time.Duration

func (*Config) SetID

func (c *Config) SetID(id int)

func (*Config) SetPutPayloadSec

func (c *Config) SetPutPayloadSec(putPayloadSec time.Duration)

func (*Config) TidyAndCheck

func (c *Config) TidyAndCheck() error

type FactoryManager

type FactoryManager struct {
	// contains filtered or unexported fields
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

func NewFactoryManager

func NewFactoryManager() *FactoryManager

func (*FactoryManager) MustRegister

func (mgr *FactoryManager) MustRegister(name string, producer Producer)

func (*FactoryManager) Produce

func (mgr *FactoryManager) Produce(name string) (export.IService, error)

type Group

type Group struct {
	Name string

	GlobalConfigReflectType reflect.Type
	ConfigReflectType       reflect.Type

	GlobalConfig     export.IConfig
	GlobalConfigData []byte
	Infos            *linkedhashmap.Map
	// contains filtered or unexported fields
}

func NewGroup

func NewGroup(name string) *Group

func (*Group) AddInfo

func (sg *Group) AddInfo(serviceID int, info *Info)

func (*Group) EachConfig

func (sg *Group) EachConfig(f func(export.IConfig) bool)

func (*Group) EachInfo

func (sg *Group) EachInfo(f func(int, *Info) bool)

func (*Group) EachInstance

func (sg *Group) EachInstance(f func(string, int, *Instance) bool)

func (*Group) EachPayload

func (sg *Group) EachPayload(f func(string, int, int) bool)

func (*Group) GetConfigByID

func (sg *Group) GetConfigByID(serviceID int) export.IConfig

func (*Group) GetInfoByID

func (sg *Group) GetInfoByID(serviceID int) *Info

func (*Group) GetInstance

func (sg *Group) GetInstance(serviceID int) *Instance

func (*Group) GetPayloadByID

func (sg *Group) GetPayloadByID(serviceID int) int

func (*Group) RemoveInfo

func (sg *Group) RemoveInfo(serviceID int)

func (*Group) RoundRobinPickInstance

func (sg *Group) RoundRobinPickInstance() *Info

type Info

type Info struct {
	Config     export.IConfig
	ConfigData []byte
	Instance   *Instance
	Payload    int
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

func NewInfo

func NewInfo(config export.IConfig, configData []byte, id int) *Info

func (Info) IsEmpty

func (i Info) IsEmpty() bool

type Instance

type Instance struct {
	PID       *actor.PID
	PprofAddr string
	Extra     map[string]interface{}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

func NewInstance

func NewInstance() (i *Instance)

func (Instance) IsEmpty

func (i Instance) IsEmpty() bool

func (Instance) String

func (i Instance) String() string

type Producer

type Producer = func() export.IService

Jump to

Keyboard shortcuts

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