2017-08-14 14:36:07 +00:00
|
|
|
// +build !ent
|
|
|
|
|
|
|
|
package consul
|
|
|
|
|
|
|
|
import (
|
2017-09-01 00:39:46 +00:00
|
|
|
"net"
|
2017-08-14 14:36:07 +00:00
|
|
|
|
2017-09-01 00:39:46 +00:00
|
|
|
"github.com/hashicorp/consul/agent/structs"
|
2017-08-14 14:36:07 +00:00
|
|
|
"github.com/hashicorp/serf/serf"
|
|
|
|
)
|
|
|
|
|
2017-09-05 19:22:20 +00:00
|
|
|
// LANMembersAllSegments returns members from all segments.
|
|
|
|
func (s *Server) LANMembersAllSegments() ([]serf.Member, error) {
|
|
|
|
return s.LANMembers(), nil
|
|
|
|
}
|
|
|
|
|
2017-08-14 14:36:07 +00:00
|
|
|
// LANSegmentMembers is used to return the members of the given LAN segment.
|
2017-08-30 23:44:04 +00:00
|
|
|
func (s *Server) LANSegmentMembers(segment string) ([]serf.Member, error) {
|
|
|
|
if segment == "" {
|
2017-08-14 14:36:07 +00:00
|
|
|
return s.LANMembers(), nil
|
|
|
|
}
|
|
|
|
|
2017-09-01 00:39:46 +00:00
|
|
|
return nil, structs.ErrSegmentsNotSupported
|
2017-08-14 14:36:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// LANSegmentAddr is used to return the address used for the given LAN segment.
|
|
|
|
func (s *Server) LANSegmentAddr(name string) string {
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2017-09-01 00:39:46 +00:00
|
|
|
// setupSegmentRPC returns an error if any segments are defined since the OSS
|
|
|
|
// version of Consul doesn't support them.
|
|
|
|
func (s *Server) setupSegmentRPC() (map[string]net.Listener, error) {
|
|
|
|
if len(s.config.Segments) > 0 {
|
|
|
|
return nil, structs.ErrSegmentsNotSupported
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil, nil
|
|
|
|
}
|
|
|
|
|
2017-08-14 14:36:07 +00:00
|
|
|
// setupSegments returns an error if any segments are defined since the OSS
|
2017-09-01 00:39:46 +00:00
|
|
|
// version of Consul doesn't support them.
|
2017-09-01 00:56:43 +00:00
|
|
|
func (s *Server) setupSegments(config *Config, port int, rpcListeners map[string]net.Listener) error {
|
2017-08-14 14:36:07 +00:00
|
|
|
if len(config.Segments) > 0 {
|
2017-09-01 00:39:46 +00:00
|
|
|
return structs.ErrSegmentsNotSupported
|
2017-08-14 14:36:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// floodSegments is a NOP in the OSS version of Consul.
|
|
|
|
func (s *Server) floodSegments(config *Config) {
|
|
|
|
}
|