123456789101112131415161718192021222324252627282930313233 |
- package registry
- const (
- StatusHealthy = "healthy"
- StatusDead = "dead"
- )
- type (
- Selector struct {
- registry Registry
- }
- )
- func (selector *Selector) Select(name string) (node *ServiceNode, err error) {
- var (
- nodes []*ServiceNode
- )
- if nodes, err = selector.registry.Get(name); err != nil {
- return
- }
- for _, node = range nodes {
- if node.Status == StatusHealthy {
- break
- }
- }
- return
- }
- func NewSelector(registry Registry) *Selector {
- return &Selector{
- registry: registry,
- }
- }
|