Merge pull request #524 from milosgajdos83/gosssip-remove-node

Properly delete service nodes
This commit is contained in:
Asim Aslam 2019-06-19 07:11:27 +01:00 committed by GitHub
commit 73a8b14145
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -115,27 +115,20 @@ func delNodes(old, del []*registry.Node) []*registry.Node {
func delServices(old, del []*registry.Service) []*registry.Service {
var services []*registry.Service
for _, o := range old {
srv := new(registry.Service)
*srv = *o
var rem bool
for _, s := range del {
if srv.Version == s.Version {
srv.Nodes = delNodes(srv.Nodes, s.Nodes)
if len(srv.Nodes) == 0 {
if o.Version == s.Version {
s.Nodes = delNodes(s.Nodes, o.Nodes)
if len(s.Nodes) == 0 {
rem = true
break
}
}
}
if !rem {
services = append(services, srv)
services = append(services, o)
}
}
return services
}