Don't store name twice in proxy

pull/6/head
Tim Hockin 2014-09-16 17:04:23 -07:00
parent d6bb688997
commit 450ccde521
1 changed files with 7 additions and 9 deletions

View File

@ -31,7 +31,6 @@ import (
) )
type serviceInfo struct { type serviceInfo struct {
name string
port int port int
protocol string protocol string
socket proxySocket socket proxySocket
@ -325,14 +324,14 @@ func (proxier *Proxier) StopProxy(service string) error {
if !found { if !found {
return fmt.Errorf("unknown service: %s", service) return fmt.Errorf("unknown service: %s", service)
} }
return proxier.stopProxyInternal(info) return proxier.stopProxyInternal(service, info)
} }
func (proxier *Proxier) stopProxyInternal(info *serviceInfo) error { func (proxier *Proxier) stopProxyInternal(service string, info *serviceInfo) error {
if !info.setActive(false) { if !info.setActive(false) {
return nil return nil
} }
glog.Infof("Removing service: %s", info.name) glog.Infof("Removing service: %s", service)
return info.socket.Close() return info.socket.Close()
} }
@ -346,7 +345,6 @@ func (proxier *Proxier) getServiceInfo(service string) (*serviceInfo, bool) {
func (proxier *Proxier) setServiceInfo(service string, info *serviceInfo) { func (proxier *Proxier) setServiceInfo(service string, info *serviceInfo) {
proxier.mu.Lock() proxier.mu.Lock()
defer proxier.mu.Unlock() defer proxier.mu.Unlock()
info.name = service
proxier.serviceMap[service] = info proxier.serviceMap[service] = info
} }
@ -407,9 +405,9 @@ func (proxier *Proxier) OnUpdate(services []api.Service) {
continue continue
} }
if exists && info.port != service.Port { if exists && info.port != service.Port {
err := proxier.stopProxyInternal(info) err := proxier.stopProxyInternal(service.ID, info)
if err != nil { if err != nil {
glog.Errorf("error stopping %s: %v", info.name, err) glog.Errorf("error stopping %s: %v", service.ID, err)
} }
} }
glog.Infof("Adding a new service %s on %s port %d", service.ID, service.Protocol, service.Port) glog.Infof("Adding a new service %s on %s port %d", service.ID, service.Protocol, service.Port)
@ -431,9 +429,9 @@ func (proxier *Proxier) OnUpdate(services []api.Service) {
defer proxier.mu.Unlock() defer proxier.mu.Unlock()
for name, info := range proxier.serviceMap { for name, info := range proxier.serviceMap {
if !activeServices.Has(name) { if !activeServices.Has(name) {
err := proxier.stopProxyInternal(info) err := proxier.stopProxyInternal(name, info)
if err != nil { if err != nil {
glog.Errorf("error stopping %s: %v", info.name, err) glog.Errorf("error stopping %s: %v", name, err)
} }
} }
} }