manager

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: May 26, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DelayReconnectFieldName = "cluster.delay.reconnect"
	DelaySyncStateFieldName = "cluster.delay.sync.state"

	DelayReconnectDefault = 10 * time.Second
	DelaySyncStateDefault = time.Second
)
View Source
const (
	ReplicaIdFieldName    = "cluster.replica.id"
	ReplicaNameFieldName  = "cluster.replica.name"
	ReplicaHostFieldName  = "cluster.replica.host"
	ReplicaRolesFieldName = "cluster.replica.roles"
	ReplicaScoreFieldName = "cluster.replica.score"

	ReplicaIdFlagName    = "id"
	ReplicaNameFlagName  = "name"
	ReplicaHostFlagName  = "host"
	ReplicaRolesFlagName = "role"
	ReplicaScoreFlagName = "score"

	ReplicaScoreDefault = 1.0
)

Variables

View Source
var Component = &component.Component{
	Name: "cluater.manager.config",
	Init: component.StepFunc(func(container container.Container) error {
		return container.Provides(NewReplica, NewDelay)
	}),
	BindFlags: component.BindFlags(func(flagSet flag.FlagSet, container container.Container) error {
		return container.Invoke(func(replicaConfig *Replica, delayConfig *Delay) {
			flagSet.DurationVar(&delayConfig.Reconnect, DelayReconnectFieldName, DelayReconnectDefault, "")
			flagSet.DurationVar(&delayConfig.SyncState, DelaySyncStateFieldName, DelaySyncStateDefault, "")

			flagSet.StringVar(&replicaConfig.id, ReplicaIdFlagName, "", "")
			flagSet.StringVar(&replicaConfig.Name, ReplicaNameFlagName, "", "")
			flagSet.StringVar(&replicaConfig.Host, ReplicaHostFlagName, "", "")
			flagSet.StringSliceVar(&replicaConfig.role, ReplicaRolesFlagName, nil, "")
			flagSet.Float32Var(&replicaConfig.Score, ReplicaScoreFlagName, ReplicaScoreDefault, "")
		})
	}),
	Configuration: component.StepFunc(func(container container.Container) (err error) {
		if err = container.Invoke(DelayConfiguration); err != nil {
			return err
		}

		return container.Invoke(ReplicaConfiguration)
	}),
}

Functions

This section is empty.

Types

type Delay

type Delay struct {
	Reconnect time.Duration
	SyncState time.Duration
}

func DelayConfiguration

func DelayConfiguration(config *Delay, configurator configurator.Configurator) *Delay

func NewDelay

func NewDelay() *Delay

type Replica

type Replica struct {
	Id   uuid.UUID
	Name string
	Host string

	Role  set.Set[domain.Role]
	Score float32
	// contains filtered or unexported fields
}

func NewReplica

func NewReplica() *Replica

func ReplicaConfiguration

func ReplicaConfiguration(config *Replica, compogoConfig *compogo.Config, configurator configurator.Configurator) (*Replica, error)

Jump to

Keyboard shortcuts

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