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

View File

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

View File

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

View File

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