diff --git a/registry.go b/registry.go index b585965..5a6db4d 100644 --- a/registry.go +++ b/registry.go @@ -1,7 +1,6 @@ package registry import ( - "errors" "fmt" "sort" "strings" @@ -55,6 +54,9 @@ func NewRouter(opts ...router.Option) router.Router { // create the new table, passing the fetchRoute method in as a fallback if // the table doesn't contain the result for a query. r.table = newTable(r.fetchRoutes) + + // start the router + r.start() return r } @@ -545,13 +547,6 @@ func (r *rtr) Advertise() (<-chan *router.Advert, error) { r.Lock() defer r.Unlock() - if r.running { - return nil, errors.New("cannot re-advertise, already running") - } - - // start the router - r.start() - // we're mutating the subscribers so they need to be locked also r.sub.Lock() defer r.sub.Unlock()