Versions in this module Expand all Collapse all v0 v0.8.5 Jun 27, 2017 Changes in this version + func FloodJoins(logger *log.Logger, portFn FloodPortFn, localDatacenter string, ...) + func HandleSerfEvents(logger *log.Logger, router *Router, areaID types.AreaID, ...) + type FloodPortFn func(*agent.Server) (int, bool) + type Manager struct + func New(logger *log.Logger, shutdownCh chan struct{}, clusterInfo ManagerSerfCluster, ...) (m *Manager) + func (m *Manager) AddServer(s *agent.Server) + func (m *Manager) FindServer() *agent.Server + func (m *Manager) IsOffline() bool + func (m *Manager) NotifyFailedServer(s *agent.Server) + func (m *Manager) NumServers() int + func (m *Manager) RebalanceServers() + func (m *Manager) RemoveServer(s *agent.Server) + func (m *Manager) ResetRebalanceTimer() + func (m *Manager) Start() + type ManagerSerfCluster interface + NumNodes func() int + type Pinger interface + Ping func(dc string, addr net.Addr, version int, useTLS bool) (bool, error) + type Router struct + func NewRouter(logger *log.Logger, localDatacenter string) *Router + func (r *Router) AddArea(areaID types.AreaID, cluster RouterSerfCluster, pinger Pinger) error + func (r *Router) AddServer(areaID types.AreaID, s *agent.Server) error + func (r *Router) FailServer(areaID types.AreaID, s *agent.Server) error + func (r *Router) FindRoute(datacenter string) (*Manager, *agent.Server, bool) + func (r *Router) GetDatacenterMaps() ([]structs.DatacenterMap, error) + func (r *Router) GetDatacenters() []string + func (r *Router) GetDatacentersByDistance() ([]string, error) + func (r *Router) RemoveArea(areaID types.AreaID) error + func (r *Router) RemoveServer(areaID types.AreaID, s *agent.Server) error + func (r *Router) Shutdown() + type RouterSerfCluster interface + GetCachedCoordinate func(name string) (*coordinate.Coordinate, bool) + GetCoordinate func() (*coordinate.Coordinate, error) + Members func() []serf.Member + NumNodes func() int