Documentation ¶
Index ¶
- Variables
- type CompletedConfig
- type Config
- type ConfigOption
- type ConfigOptionFunc
- type EmptyConfigOption
- type Reslover
- func (*Reslover) Descriptor() ([]byte, []int)deprecated
- func (x *Reslover) GetDomains() []string
- func (x *Reslover) GetEnabled() bool
- func (x *Reslover) GetLoadBalanceMode() Reslover_LoadBalanceMode
- func (x *Reslover) GetResloverType() Reslover_ResloverType
- func (x *Reslover) GetResolveInterval() *duration.Duration
- func (*Reslover) ProtoMessage()
- func (x *Reslover) ProtoReflect() protoreflect.Message
- func (x *Reslover) Reset()
- func (x *Reslover) String() string
- type ResloverOptions
- type ResloverQuery
- type ResloverQueryMap
- func (m *ResloverQueryMap) Delete(key string)
- func (m *ResloverQueryMap) Load(key string) (ResloverQuery, bool)
- func (m *ResloverQueryMap) LoadAndDelete(key string) (value ResloverQuery, loaded bool)
- func (m *ResloverQueryMap) LoadOrStore(key string, value ResloverQuery) (ResloverQuery, bool)
- func (m *ResloverQueryMap) Range(f func(key string, value ResloverQuery) bool)
- func (m *ResloverQueryMap) Store(key string, value ResloverQuery)
- type ResloverService
- func (srv *ResloverService) AddService(service ResloverQuery) error
- func (srv *ResloverService) AddServices(services ...ResloverQuery) error
- func (srv *ResloverService) PickNode(name string, consistKey string) (node string, has bool)
- func (srv *ResloverService) QueryServices() (err error)
- func (srv *ResloverService) Run(ctx context.Context) error
- func (srv *ResloverService) Serve(ctx context.Context) error
- func (srv *ResloverService) Shutdown()
- type Reslover_LoadBalanceMode
- func (Reslover_LoadBalanceMode) Descriptor() protoreflect.EnumDescriptor
- func (x Reslover_LoadBalanceMode) Enum() *Reslover_LoadBalanceMode
- func (Reslover_LoadBalanceMode) EnumDescriptor() ([]byte, []int)deprecated
- func (x Reslover_LoadBalanceMode) Number() protoreflect.EnumNumber
- func (x Reslover_LoadBalanceMode) String() string
- func (Reslover_LoadBalanceMode) Type() protoreflect.EnumType
- type Reslover_ResloverType
- func (Reslover_ResloverType) Descriptor() protoreflect.EnumDescriptor
- func (x Reslover_ResloverType) Enum() *Reslover_ResloverType
- func (Reslover_ResloverType) EnumDescriptor() ([]byte, []int)deprecated
- func (x Reslover_ResloverType) Number() protoreflect.EnumNumber
- func (x Reslover_ResloverType) String() string
- func (Reslover_ResloverType) Type() protoreflect.EnumType
Constants ¶
This section is empty.
Variables ¶
var ( Reslover_ResloverType_name = map[int32]string{ 0: "reslover_type_dns", 1: "reslover_type_consul", } Reslover_ResloverType_value = map[string]int32{ "reslover_type_dns": 0, "reslover_type_consul": 1, } )
Enum value maps for Reslover_ResloverType.
var ( Reslover_LoadBalanceMode_name = map[int32]string{ 0: "load_balance_mode_random", 1: "load_balance_mode_consist", } Reslover_LoadBalanceMode_value = map[string]int32{ "load_balance_mode_random": 0, "load_balance_mode_consist": 1, } )
Enum value maps for Reslover_LoadBalanceMode.
var File_pkg_reslover_reslover_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type CompletedConfig ¶
type CompletedConfig struct {
// contains filtered or unexported fields
}
type Config ¶
type Config struct { Proto Reslover // contains filtered or unexported fields }
func NewConfig ¶
func NewConfig(options ...ConfigOption) *Config
func (*Config) ApplyOptions ¶
func (o *Config) ApplyOptions(options ...ConfigOption) *Config
func (*Config) Complete ¶
func (c *Config) Complete() CompletedConfig
Complete set default ServerRunOptions.
type ConfigOption ¶
type ConfigOption interface {
// contains filtered or unexported methods
}
A ConfigOption sets options.
func WithViper ¶
func WithViper(v *viper.Viper) ConfigOption
type ConfigOptionFunc ¶
type ConfigOptionFunc func(*Config)
ConfigOptionFunc wraps a function that modifies Client into an implementation of the ConfigOption interface.
type EmptyConfigOption ¶
type EmptyConfigOption struct{}
EmptyConfigOption does not alter the configuration. It can be embedded in another structure to build custom options.
This API is EXPERIMENTAL.
type Reslover ¶
type Reslover struct { Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` ResloverType Reslover_ResloverType `` /* 141-byte string literal not displayed */ LoadBalanceMode Reslover_LoadBalanceMode `` /* 155-byte string literal not displayed */ ResolveInterval *duration.Duration `protobuf:"bytes,4,opt,name=resolve_interval,json=resolveInterval,proto3" json:"resolve_interval,omitempty"` Domains []string `protobuf:"bytes,5,rep,name=domains,proto3" json:"domains,omitempty"` // contains filtered or unexported fields }
func (*Reslover) Descriptor
deprecated
func (*Reslover) GetDomains ¶ added in v0.0.71
func (*Reslover) GetEnabled ¶
func (*Reslover) GetLoadBalanceMode ¶
func (x *Reslover) GetLoadBalanceMode() Reslover_LoadBalanceMode
func (*Reslover) GetResloverType ¶
func (x *Reslover) GetResloverType() Reslover_ResloverType
func (*Reslover) GetResolveInterval ¶
func (*Reslover) ProtoMessage ¶
func (*Reslover) ProtoMessage()
func (*Reslover) ProtoReflect ¶
func (x *Reslover) ProtoReflect() protoreflect.Message
type ResloverOptions ¶
type ResloverOptions struct { ResloverType Reslover_ResloverType LoadBalanceMode Reslover_LoadBalanceMode }
type ResloverQuery ¶
type ResloverQuery struct { Domain string Opts ResloverOptions // contains filtered or unexported fields }
func NewDefaultResloverQuery ¶
func NewDefaultResloverQuery(domain string) ResloverQuery
NewDefaultResloverQuery, dns reslover, bls consist hash
func (*ResloverQuery) SetDefault ¶
func (r *ResloverQuery) SetDefault()
type ResloverQueryMap ¶
func (*ResloverQueryMap) Delete ¶
func (m *ResloverQueryMap) Delete(key string)
Delete deletes the value for a key.
func (*ResloverQueryMap) Load ¶
func (m *ResloverQueryMap) Load(key string) (ResloverQuery, bool)
Load returns the value stored in the map for a key, or nil if no value is present. The ok result indicates whether value was found in the map.
func (*ResloverQueryMap) LoadAndDelete ¶
func (m *ResloverQueryMap) LoadAndDelete(key string) (value ResloverQuery, loaded bool)
LoadAndDelete deletes the value for a key, returning the previous value if any. The loaded result reports whether the key was present.
func (*ResloverQueryMap) LoadOrStore ¶
func (m *ResloverQueryMap) LoadOrStore(key string, value ResloverQuery) (ResloverQuery, bool)
LoadOrStore returns the existing value for the key if present. Otherwise, it stores and returns the given value. The loaded result is true if the value was loaded, false if stored.
func (*ResloverQueryMap) Range ¶
func (m *ResloverQueryMap) Range(f func(key string, value ResloverQuery) bool)
Range calls f sequentially for each key and value present in the map. If f returns false, range stops the iteration.
Range does not necessarily correspond to any consistent snapshot of the Map's contents: no key will be visited more than once, but if the value for any key is stored or deleted concurrently, Range may reflect any mapping for that key from any point during the Range call.
Range may be O(N) with the number of elements in the map even if f returns false after a constant number of calls.
func (*ResloverQueryMap) Store ¶
func (m *ResloverQueryMap) Store(key string, value ResloverQuery)
Store sets the value for a key.
type ResloverService ¶
type ResloverService struct {
// contains filtered or unexported fields
}
func NewDefaultResloverServices ¶ added in v0.0.71
func NewDefaultResloverServices(resolverInterval time.Duration, domains ...string) *ResloverService
func NewResloverService ¶
func NewResloverService(resolverInterval time.Duration, services ...ResloverQuery) *ResloverService
func (*ResloverService) AddService ¶
func (srv *ResloverService) AddService(service ResloverQuery) error
func (*ResloverService) AddServices ¶ added in v0.0.71
func (srv *ResloverService) AddServices(services ...ResloverQuery) error
func (*ResloverService) PickNode ¶
func (srv *ResloverService) PickNode(name string, consistKey string) (node string, has bool)
func (*ResloverService) QueryServices ¶
func (srv *ResloverService) QueryServices() (err error)
func (*ResloverService) Shutdown ¶
func (srv *ResloverService) Shutdown()
type Reslover_LoadBalanceMode ¶
type Reslover_LoadBalanceMode int32
const ( Reslover_load_balance_mode_random Reslover_LoadBalanceMode = 0 Reslover_load_balance_mode_consist Reslover_LoadBalanceMode = 1 )
func (Reslover_LoadBalanceMode) Descriptor ¶
func (Reslover_LoadBalanceMode) Descriptor() protoreflect.EnumDescriptor
func (Reslover_LoadBalanceMode) Enum ¶
func (x Reslover_LoadBalanceMode) Enum() *Reslover_LoadBalanceMode
func (Reslover_LoadBalanceMode) EnumDescriptor
deprecated
func (Reslover_LoadBalanceMode) EnumDescriptor() ([]byte, []int)
Deprecated: Use Reslover_LoadBalanceMode.Descriptor instead.
func (Reslover_LoadBalanceMode) Number ¶
func (x Reslover_LoadBalanceMode) Number() protoreflect.EnumNumber
func (Reslover_LoadBalanceMode) String ¶
func (x Reslover_LoadBalanceMode) String() string
func (Reslover_LoadBalanceMode) Type ¶
func (Reslover_LoadBalanceMode) Type() protoreflect.EnumType
type Reslover_ResloverType ¶
type Reslover_ResloverType int32
const ( Reslover_reslover_type_dns Reslover_ResloverType = 0 Reslover_reslover_type_consul Reslover_ResloverType = 1 )
func (Reslover_ResloverType) Descriptor ¶
func (Reslover_ResloverType) Descriptor() protoreflect.EnumDescriptor
func (Reslover_ResloverType) Enum ¶
func (x Reslover_ResloverType) Enum() *Reslover_ResloverType
func (Reslover_ResloverType) EnumDescriptor
deprecated
func (Reslover_ResloverType) EnumDescriptor() ([]byte, []int)
Deprecated: Use Reslover_ResloverType.Descriptor instead.
func (Reslover_ResloverType) Number ¶
func (x Reslover_ResloverType) Number() protoreflect.EnumNumber
func (Reslover_ResloverType) String ¶
func (x Reslover_ResloverType) String() string
func (Reslover_ResloverType) Type ¶
func (Reslover_ResloverType) Type() protoreflect.EnumType