cluster

package
v1.0.0-preview.1 Latest Latest
Warning

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

Go to latest
Published: May 7, 2021 License: Apache-2.0 Imports: 4 Imported by: 3

Documentation

Index

Constants

View Source
const (
	DefaultHost = "localhost"
	DefaultPort = 5701
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address interface {
	// TODO: remove this interface
	fmt.Stringer
	Host() string
	Port() int
	Clone() Address
}

type AddressImpl

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

func NewAddress

func NewAddress(Host string, Port int32) *AddressImpl

func NewAddressWithHostPort

func NewAddressWithHostPort(Host string, Port int) *AddressImpl

TODO: merge this one with NewAddress

func (AddressImpl) Clone

func (a AddressImpl) Clone() Address

func (AddressImpl) Host

func (a AddressImpl) Host() string

func (AddressImpl) Port

func (a AddressImpl) Port() int

func (AddressImpl) String

func (a AddressImpl) String() string

type Config

type Config struct {
	Name              string
	Addrs             []string
	SmartRouting      bool
	ConnectionTimeout time.Duration
	HeartbeatInterval time.Duration
	HeartbeatTimeout  time.Duration
	InvocationTimeout time.Duration
	RedoOperation     bool
	SecurityConfig    SecurityConfig
	SSLConfig         SSLConfig
}

func (*Config) Clone

func (c *Config) Clone() Config

type EndpointQualifier

type EndpointQualifier struct {
	Type       int32
	Identifier string
}

type Member

type Member interface {
	fmt.Stringer
	// Addr returns the address of this member.
	Address() Address

	// UUID returns the uuid of this member.
	UUID() types.UUID

	// IsLiteMember returns true if this member is a lite member.
	LiteMember() bool

	// Attributes returns configured attributes for this member.
	Attributes() map[string]string
}

Member represents a member in the cluster with its address, uuid, lite member status and attributes.

type MemberInfo

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

MemberInfo represents a member in the cluster with its address, uuid, lite member status, attributes and version.

func NewMemberInfo

func NewMemberInfo(address Address, uuid types.UUID, attributes map[string]string, liteMember bool, version MemberVersion,
	isAddressMapExists bool, addressMap interface{}) MemberInfo

func (MemberInfo) Address

func (mi MemberInfo) Address() Address

func (MemberInfo) AddressMap

func (mi MemberInfo) AddressMap() map[EndpointQualifier]Address

func (MemberInfo) Attributes

func (mi MemberInfo) Attributes() map[string]string

func (MemberInfo) LiteMember

func (mi MemberInfo) LiteMember() bool

func (MemberInfo) String

func (mi MemberInfo) String() string

func (MemberInfo) UUID

func (mi MemberInfo) UUID() types.UUID

func (MemberInfo) Version

func (mi MemberInfo) Version() MemberVersion

type MemberVersion

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

MemberVersion

func NewMemberVersion

func NewMemberVersion(major, minor, patch byte) MemberVersion

func (MemberVersion) Major

func (memberVersion MemberVersion) Major() byte

func (MemberVersion) Minor

func (memberVersion MemberVersion) Minor() byte

func (MemberVersion) Patch

func (memberVersion MemberVersion) Patch() byte

type MembershipState

type MembershipState int
const (
	MembershipStateAdded MembershipState = iota
	MembershipStateRemoved
)

type MembershipStateChangeHandler

type MembershipStateChangeHandler func(event MembershipStateChanged)

type MembershipStateChanged

type MembershipStateChanged struct {
	State  MembershipState
	Member Member
}

func (*MembershipStateChanged) EventName

func (e *MembershipStateChanged) EventName() string

type SSLConfig

type SSLConfig struct {
	TLSConfig *tls.Config
	Enabled   bool
}

SSLConfig is SSL configuration for client. SSLConfig has tls.Config embedded in it so that users can set any field of tls config as they wish. SSL config also has some helpers such as SetCaPath, AddClientCertAndKeyPath to make configuration easier for users.

type SecurityConfig

type SecurityConfig struct {
	Username string
	Password string
}

Jump to

Keyboard shortcuts

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