Added Options() to registry interface

This commit is contained in:
darren-west 2017-09-28 11:16:56 +01:00
parent d29b5e2fab
commit d970586a29
4 changed files with 15 additions and 2 deletions

View File

@ -17,7 +17,7 @@ import (
type consulRegistry struct { type consulRegistry struct {
Address string Address string
Client *consul.Client Client *consul.Client
Options Options opts Options
sync.Mutex sync.Mutex
register map[string]uint64 register map[string]uint64
@ -93,7 +93,7 @@ func newConsulRegistry(opts ...Option) Registry {
cr := &consulRegistry{ cr := &consulRegistry{
Address: config.Address, Address: config.Address,
Client: client, Client: client,
Options: options, opts: options,
register: make(map[string]uint64), register: make(map[string]uint64),
} }
@ -285,3 +285,7 @@ func (c *consulRegistry) Watch() (Watcher, error) {
func (c *consulRegistry) String() string { func (c *consulRegistry) String() string {
return "consul" return "consul"
} }
func (c *consulRegistry) Options() Options {
return c.opts
}

View File

@ -316,6 +316,10 @@ func (m *mdnsRegistry) String() string {
return "mdns" return "mdns"
} }
func (m *mdnsRegistry) Options() registry.Options {
return m.opts
}
func NewRegistry(opts ...registry.Option) registry.Registry { func NewRegistry(opts ...registry.Option) registry.Registry {
return newRegistry(opts...) return newRegistry(opts...)
} }

View File

@ -95,6 +95,10 @@ func (m *mockRegistry) String() string {
return "mock" return "mock"
} }
func (m *mockRegistry) Options() registry.Options {
return registry.Options{}
}
func NewRegistry() registry.Registry { func NewRegistry() registry.Registry {
m := &mockRegistry{Services: make(map[string][]*registry.Service)} m := &mockRegistry{Services: make(map[string][]*registry.Service)}
m.init() m.init()

View File

@ -15,6 +15,7 @@ type Registry interface {
ListServices() ([]*Service, error) ListServices() ([]*Service, error)
Watch() (Watcher, error) Watch() (Watcher, error)
String() string String() string
Options() Options
} }
type Option func(*Options) type Option func(*Options)