export registry util function to safe copy registry data

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
2019-07-04 00:15:44 +03:00
parent 7008809eff
commit 0e34c572b4
7 changed files with 66 additions and 259 deletions

View File

@@ -626,7 +626,7 @@ func (g *gossipRegistry) run() {
g.services[u.Service.Name] = []*registry.Service{u.Service}
} else {
g.services[u.Service.Name] = addServices(service, []*registry.Service{u.Service})
g.services[u.Service.Name] = registry.AddServices(service, []*registry.Service{u.Service})
}
g.Unlock()
@@ -645,7 +645,7 @@ func (g *gossipRegistry) run() {
case actionTypeDelete:
g.Lock()
if service, ok := g.services[u.Service.Name]; ok {
if services := delServices(service, []*registry.Service{u.Service}); len(services) == 0 {
if services := registry.DelServices(service, []*registry.Service{u.Service}); len(services) == 0 {
delete(g.services, u.Service.Name)
} else {
g.services[u.Service.Name] = services
@@ -706,7 +706,7 @@ func (g *gossipRegistry) Register(s *registry.Service, opts ...registry.Register
if service, ok := g.services[s.Name]; !ok {
g.services[s.Name] = []*registry.Service{s}
} else {
g.services[s.Name] = addServices(service, []*registry.Service{s})
g.services[s.Name] = registry.AddServices(service, []*registry.Service{s})
}
g.Unlock()
@@ -754,7 +754,7 @@ func (g *gossipRegistry) Deregister(s *registry.Service) error {
g.Lock()
if service, ok := g.services[s.Name]; ok {
if services := delServices(service, []*registry.Service{s}); len(services) == 0 {
if services := registry.DelServices(service, []*registry.Service{s}); len(services) == 0 {
delete(g.services, s.Name)
} else {
g.services[s.Name] = services