service

package
v0.0.0-...-83fd405 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const GlobalConfigServiceID = "global"
View Source
const (
	NilPayload = -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 {
	ID            int
	PutPayloadSec time.Duration // 更新负载间隔(单位:秒)
}

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) (nexport.IService, error)

type Group

type Group struct {
	GroupConfig

	Name string

	GlobalConfigReflectType reflect.Type
	ConfigReflectType       reflect.Type

	GlobalConfig nexport.IServiceGlobalConfig
	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(nexport.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) nexport.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 GroupConfig

type GroupConfig struct {
	GlobalConfig nexport.IServiceGlobalConfig
	Config       nexport.IServiceConfig
}

type Info

type Info struct {
	Config   nexport.IServiceConfig
	Instance *Instance
	Payload  int
}

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

func NewInfo

func NewInfo(config nexport.IServiceConfig, id int) *Info

func (*Info) Clone

func (i *Info) Clone() (n *Info)

func (*Info) IsEmpty

func (i *Info) IsEmpty() bool

type Instance

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

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

func NewInstance

func NewInstance() (i *Instance)

func (*Instance) Clone

func (i *Instance) Clone() (n *Instance)

func (*Instance) IsEmpty

func (i *Instance) IsEmpty() bool

func (Instance) String

func (i Instance) String() string

type Producer

type Producer = func() nexport.IService

Jump to

Keyboard shortcuts

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