Documentation
¶
Overview ¶
Package membership is a generated GoMock package.
Index ¶
- Constants
- Variables
- type ChangedEvent
- type HostInfo
- type MockMonitor
- func (m *MockMonitor) AddListener(service, name string, notifyChannel chan<- *ChangedEvent) error
- func (m *MockMonitor) EXPECT() *MockMonitorMockRecorder
- func (m *MockMonitor) EvictSelf() error
- func (m *MockMonitor) GetMemberCount(service string) (int, error)
- func (m *MockMonitor) GetReachableMembers() ([]string, error)
- func (m *MockMonitor) GetResolver(service string) (ServiceResolver, error)
- func (m *MockMonitor) Lookup(service, key string) (*HostInfo, error)
- func (m *MockMonitor) RemoveListener(service, name string) error
- func (m *MockMonitor) Start()
- func (m *MockMonitor) Stop()
- func (m *MockMonitor) WhoAmI() (*HostInfo, error)
- type MockMonitorMockRecorder
- func (mr *MockMonitorMockRecorder) AddListener(service, name, notifyChannel interface{}) *gomock.Call
- func (mr *MockMonitorMockRecorder) EvictSelf() *gomock.Call
- func (mr *MockMonitorMockRecorder) GetMemberCount(service interface{}) *gomock.Call
- func (mr *MockMonitorMockRecorder) GetReachableMembers() *gomock.Call
- func (mr *MockMonitorMockRecorder) GetResolver(service interface{}) *gomock.Call
- func (mr *MockMonitorMockRecorder) Lookup(service, key interface{}) *gomock.Call
- func (mr *MockMonitorMockRecorder) RemoveListener(service, name interface{}) *gomock.Call
- func (mr *MockMonitorMockRecorder) Start() *gomock.Call
- func (mr *MockMonitorMockRecorder) Stop() *gomock.Call
- func (mr *MockMonitorMockRecorder) WhoAmI() *gomock.Call
- type MockServiceResolver
- func (m *MockServiceResolver) AddListener(name string, notifyChannel chan<- *ChangedEvent) error
- func (m *MockServiceResolver) EXPECT() *MockServiceResolverMockRecorder
- func (m *MockServiceResolver) Lookup(key string) (*HostInfo, error)
- func (m *MockServiceResolver) MemberCount() int
- func (m *MockServiceResolver) Members() []*HostInfo
- func (m *MockServiceResolver) RemoveListener(name string) error
- type MockServiceResolverMockRecorder
- func (mr *MockServiceResolverMockRecorder) AddListener(name, notifyChannel interface{}) *gomock.Call
- func (mr *MockServiceResolverMockRecorder) Lookup(key interface{}) *gomock.Call
- func (mr *MockServiceResolverMockRecorder) MemberCount() *gomock.Call
- func (mr *MockServiceResolverMockRecorder) Members() *gomock.Call
- func (mr *MockServiceResolverMockRecorder) RemoveListener(name interface{}) *gomock.Call
- type Monitor
- type RingPop
- type ServiceResolver
Constants ¶
const ( // RoleKey label is set by every single service as soon as it bootstraps its // ringpop instance. The data for this key is the service name RoleKey = "serviceName" )
Variables ¶
var ErrInsufficientHosts = &shared.InternalServiceError{Message: "Not enough hosts to serve the request"}
ErrInsufficientHosts is thrown when there are not enough hosts to serve the request
var ErrListenerAlreadyExist = errors.New("Listener already exist for the service")
ErrListenerAlreadyExist is thrown on a duplicate AddListener call from the same listener
var ErrUnknownService = errors.New("Service not tracked by Monitor")
ErrUnknownService is thrown for a service that is not tracked by this instance
Functions ¶
This section is empty.
Types ¶
type ChangedEvent ¶
type ChangedEvent struct {
HostsAdded []*HostInfo
HostsUpdated []*HostInfo
HostsRemoved []*HostInfo
}
ChangedEvent describes a change in membership
type HostInfo ¶
type HostInfo struct {
// contains filtered or unexported fields
}
HostInfo is a type that contains the info about a cadence host
func NewHostInfo ¶
NewHostInfo creates a new HostInfo instance
func (*HostInfo) GetAddress ¶
GetAddress returns the ip:port address
type MockMonitor ¶ added in v0.11.0
type MockMonitor struct {
// contains filtered or unexported fields
}
MockMonitor is a mock of Monitor interface
func NewMockMonitor ¶ added in v0.11.0
func NewMockMonitor(ctrl *gomock.Controller) *MockMonitor
NewMockMonitor creates a new mock instance
func (*MockMonitor) AddListener ¶ added in v0.11.0
func (m *MockMonitor) AddListener(service, name string, notifyChannel chan<- *ChangedEvent) error
AddListener mocks base method
func (*MockMonitor) EXPECT ¶ added in v0.11.0
func (m *MockMonitor) EXPECT() *MockMonitorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockMonitor) EvictSelf ¶ added in v0.12.0
func (m *MockMonitor) EvictSelf() error
EvictSelf mocks base method
func (*MockMonitor) GetMemberCount ¶ added in v0.12.0
func (m *MockMonitor) GetMemberCount(service string) (int, error)
GetMemberCount mocks base method
func (*MockMonitor) GetReachableMembers ¶ added in v0.11.0
func (m *MockMonitor) GetReachableMembers() ([]string, error)
GetReachableMembers mocks base method
func (*MockMonitor) GetResolver ¶ added in v0.11.0
func (m *MockMonitor) GetResolver(service string) (ServiceResolver, error)
GetResolver mocks base method
func (*MockMonitor) Lookup ¶ added in v0.11.0
func (m *MockMonitor) Lookup(service, key string) (*HostInfo, error)
Lookup mocks base method
func (*MockMonitor) RemoveListener ¶ added in v0.11.0
func (m *MockMonitor) RemoveListener(service, name string) error
RemoveListener mocks base method
func (*MockMonitor) WhoAmI ¶ added in v0.11.0
func (m *MockMonitor) WhoAmI() (*HostInfo, error)
WhoAmI mocks base method
type MockMonitorMockRecorder ¶ added in v0.11.0
type MockMonitorMockRecorder struct {
// contains filtered or unexported fields
}
MockMonitorMockRecorder is the mock recorder for MockMonitor
func (*MockMonitorMockRecorder) AddListener ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) AddListener(service, name, notifyChannel interface{}) *gomock.Call
AddListener indicates an expected call of AddListener
func (*MockMonitorMockRecorder) EvictSelf ¶ added in v0.12.0
func (mr *MockMonitorMockRecorder) EvictSelf() *gomock.Call
EvictSelf indicates an expected call of EvictSelf
func (*MockMonitorMockRecorder) GetMemberCount ¶ added in v0.12.0
func (mr *MockMonitorMockRecorder) GetMemberCount(service interface{}) *gomock.Call
GetMemberCount indicates an expected call of GetMemberCount
func (*MockMonitorMockRecorder) GetReachableMembers ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) GetReachableMembers() *gomock.Call
GetReachableMembers indicates an expected call of GetReachableMembers
func (*MockMonitorMockRecorder) GetResolver ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) GetResolver(service interface{}) *gomock.Call
GetResolver indicates an expected call of GetResolver
func (*MockMonitorMockRecorder) Lookup ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) Lookup(service, key interface{}) *gomock.Call
Lookup indicates an expected call of Lookup
func (*MockMonitorMockRecorder) RemoveListener ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) RemoveListener(service, name interface{}) *gomock.Call
RemoveListener indicates an expected call of RemoveListener
func (*MockMonitorMockRecorder) Start ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) Start() *gomock.Call
Start indicates an expected call of Start
func (*MockMonitorMockRecorder) Stop ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) Stop() *gomock.Call
Stop indicates an expected call of Stop
func (*MockMonitorMockRecorder) WhoAmI ¶ added in v0.11.0
func (mr *MockMonitorMockRecorder) WhoAmI() *gomock.Call
WhoAmI indicates an expected call of WhoAmI
type MockServiceResolver ¶ added in v0.11.0
type MockServiceResolver struct {
// contains filtered or unexported fields
}
MockServiceResolver is a mock of ServiceResolver interface
func NewMockServiceResolver ¶ added in v0.11.0
func NewMockServiceResolver(ctrl *gomock.Controller) *MockServiceResolver
NewMockServiceResolver creates a new mock instance
func (*MockServiceResolver) AddListener ¶ added in v0.11.0
func (m *MockServiceResolver) AddListener(name string, notifyChannel chan<- *ChangedEvent) error
AddListener mocks base method
func (*MockServiceResolver) EXPECT ¶ added in v0.11.0
func (m *MockServiceResolver) EXPECT() *MockServiceResolverMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockServiceResolver) Lookup ¶ added in v0.11.0
func (m *MockServiceResolver) Lookup(key string) (*HostInfo, error)
Lookup mocks base method
func (*MockServiceResolver) MemberCount ¶ added in v0.11.0
func (m *MockServiceResolver) MemberCount() int
MemberCount mocks base method
func (*MockServiceResolver) Members ¶ added in v0.11.0
func (m *MockServiceResolver) Members() []*HostInfo
Members mocks base method
func (*MockServiceResolver) RemoveListener ¶ added in v0.11.0
func (m *MockServiceResolver) RemoveListener(name string) error
RemoveListener mocks base method
type MockServiceResolverMockRecorder ¶ added in v0.11.0
type MockServiceResolverMockRecorder struct {
// contains filtered or unexported fields
}
MockServiceResolverMockRecorder is the mock recorder for MockServiceResolver
func (*MockServiceResolverMockRecorder) AddListener ¶ added in v0.11.0
func (mr *MockServiceResolverMockRecorder) AddListener(name, notifyChannel interface{}) *gomock.Call
AddListener indicates an expected call of AddListener
func (*MockServiceResolverMockRecorder) Lookup ¶ added in v0.11.0
func (mr *MockServiceResolverMockRecorder) Lookup(key interface{}) *gomock.Call
Lookup indicates an expected call of Lookup
func (*MockServiceResolverMockRecorder) MemberCount ¶ added in v0.11.0
func (mr *MockServiceResolverMockRecorder) MemberCount() *gomock.Call
MemberCount indicates an expected call of MemberCount
func (*MockServiceResolverMockRecorder) Members ¶ added in v0.11.0
func (mr *MockServiceResolverMockRecorder) Members() *gomock.Call
Members indicates an expected call of Members
func (*MockServiceResolverMockRecorder) RemoveListener ¶ added in v0.11.0
func (mr *MockServiceResolverMockRecorder) RemoveListener(name interface{}) *gomock.Call
RemoveListener indicates an expected call of RemoveListener
type Monitor ¶
type Monitor interface {
common.Daemon
WhoAmI() (*HostInfo, error)
// EvictSelf evicts this member from the membership ring. After this method is
// called, other members will discover that this node is no longer part of the
// ring. This primitive is useful to carry out graceful host shutdown during deployments.
EvictSelf() error
Lookup(service string, key string) (*HostInfo, error)
GetResolver(service string) (ServiceResolver, error)
// AddListener adds a listener for this service.
// The listener will get notified on the given
// channel, whenever there is a membership change.
// @service: The service to be listened on
// @name: The name for identifying the listener
// @notifyChannel: The channel on which the caller receives notifications
AddListener(service string, name string, notifyChannel chan<- *ChangedEvent) error
// RemoveListener removes a listener for this service.
RemoveListener(service string, name string) error
// GetReachableMembers returns addresses of all members of the ring
GetReachableMembers() ([]string, error)
// GetMemberCount returns the number of reachable members
// currently in this node's membership list for the given role
GetMemberCount(role string) (int, error)
}
Monitor provides membership information for all cadence services. It can be used to query which member host of a service is responsible for serving a given key.
type RingPop ¶ added in v0.11.0
RingPop is a simple wrapper
func NewRingPop ¶ added in v0.11.0
func NewRingPop( ringPop *ringpop.Ringpop, bootParams *swim.BootstrapOptions, logger log.Logger, ) *RingPop
NewRingPop create a new ring pop wrapper
type ServiceResolver ¶
type ServiceResolver interface {
Lookup(key string) (*HostInfo, error)
// AddListener adds a listener which will get notified on the given
// channel, whenever membership changes.
// @name: The name for identifying the listener
// @notifyChannel: The channel on which the caller receives notifications
AddListener(name string, notifyChannel chan<- *ChangedEvent) error
// RemoveListener removes a listener for this service.
RemoveListener(name string) error
// MemberCount returns host count in hashring for any particular role
MemberCount() int
// Members returns all host addresses in hashring for any particular role
Members() []*HostInfo
}
ServiceResolver provides membership information for a specific cadence service. It can be used to resolve which member host is responsible for serving a given key.