builderfile

package
v0.0.0-...-3c132d2 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Array

type Array types.List

func (*Array) Call

func (*Array) Call(args ...interface{}) (interface{}, error)

type DeviceInfo

type DeviceInfo struct {
	ID              uint64
	Region          uint64
	Zone            uint64
	NodeIP          string `yaml:"ip" mapstructure:"ip"`
	Port            uint64
	ReplicationIP   string `yaml:"replication_ip" mapstructure:"replication_ip"`
	ReplicationPort uint64 `yaml:"replication_port" mapstructure:"replication_port"`
	Name            string `mapstructure:"device"`
	Weight          float64
	Partitions      uint64 `mapstructure:"parts"`
	Balance         float64
	Meta            *map[string]string `yaml:"meta,omitempty"`
	// contains filtered or unexported fields
}

func (DeviceInfo) CommandAdd

func (device DeviceInfo) CommandAdd(ringFilename string) string

func (DeviceInfo) CommandRemove

func (device DeviceInfo) CommandRemove(ringFilename string) string

func (DeviceInfo) CommandSetMeta

func (device DeviceInfo) CommandSetMeta(ringFilename string, desiredMeta map[string]string) string

func (DeviceInfo) CommandSetMetaNode

func (device DeviceInfo) CommandSetMetaNode(ringFilename string, desiredMeta map[string]string) string

func (DeviceInfo) CommandSetWeight

func (device DeviceInfo) CommandSetWeight(ringFilename string, desiredWeight float64) string

func (DeviceInfo) IPAddressPort

func (device DeviceInfo) IPAddressPort() string

type RingInfo

type RingInfo struct {
	FileName string `yaml:"file_name"`
	Version  uint64
	ID       string

	Partitions  uint64
	Replicas    float64
	Regions     uint64
	Zones       uint64
	DeviceCount uint64 `yaml:"device_count"`
	Balance     float64
	Dispersion  float64

	ReassignedCooldown  uint64    `yaml:"reassigned_cooldown"`
	ReassignedRemaining time.Time `yaml:"reassigned_remaining"`

	OverloadFactorPercent float64 `yaml:"overload_factor_Percent"`
	OverloadFactorDecimal float64 `yaml:"overload_factor_decimal"`

	Devices []DeviceInfo
}

RingInfo contains the meta data about the ring file

func File

func File(builderFilename string) RingInfo

File takes a path to a builder file. It tries to unpickle it

func Input

func Input(input io.Reader) RingInfo

Input parses an input and return the data as MetData object

func (RingInfo) CommandSetOverload

func (ring RingInfo) CommandSetOverload(ringFilename string, desiredOverload float64) string

func (RingInfo) FindDevice

func (ring RingInfo) FindDevice(zone uint64, nodeIP string, port uint64, diskName string) (*DeviceInfo, error)

FindDevice returns a given disk that matches the in

Jump to

Keyboard shortcuts

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