Skip to content
Snippets Groups Projects
Commit 25f366c7 authored by scott's avatar scott
Browse files

Fix listener slice -> map

parent 6b04b966
No related branches found
No related tags found
No related merge requests found
......@@ -34,20 +34,17 @@ import (
)
type dataListener struct {
interestedURL map[string]*common.URL
interestedURL []*common.URL
listener config_center.ConfigurationListener
}
// NewRegistryDataListener ...
func NewRegistryDataListener(listener config_center.ConfigurationListener) *dataListener {
return &dataListener{listener: listener, interestedURL: make(map[string]*common.URL, 16)}
return &dataListener{listener: listener, interestedURL: make([]*common.URL, 16)}
}
func (l *dataListener) AddInterestedURL(url *common.URL) {
if _, ok := l.interestedURL[url.String()]; ok {
return
}
l.interestedURL[url.String()] = url
l.interestedURL = append(l.interestedURL, url)
}
func (l *dataListener) DataChange(eventType remoting.Event) bool {
......@@ -59,18 +56,19 @@ func (l *dataListener) DataChange(eventType remoting.Event) bool {
return false
}
if _, ok := l.interestedURL[serviceURL.String()]; !ok {
return false
for _, v := range l.interestedURL {
if serviceURL.URLEqual(*v) {
l.listener.Process(
&config_center.ConfigChangeEvent{
Key: eventType.Path,
Value: serviceURL,
ConfigType: eventType.Action,
},
)
return true
}
}
l.listener.Process(
&config_center.ConfigChangeEvent{
Key: eventType.Path,
Value: serviceURL,
ConfigType: eventType.Action,
},
)
return true
return false
}
type configurationListener struct {
......
......@@ -34,23 +34,19 @@ import (
)
type dataListener struct {
interestedURL map[string]*common.URL
interestedURL []*common.URL
listener config_center.ConfigurationListener
}
// NewRegistryDataListener
// new the data listener, the interest url default len 16
func NewRegistryDataListener(listener config_center.ConfigurationListener) *dataListener {
return &dataListener{listener: listener, interestedURL: make(map[string]*common.URL, 16)}
return &dataListener{listener: listener, interestedURL: make([]*common.URL, 16)}
}
// AddInterestedURL
func (l *dataListener) AddInterestedURL(url *common.URL) {
if _, ok := l.interestedURL[url.String()]; ok {
return
}
l.interestedURL[url.String()] = url
l.interestedURL = append(l.interestedURL, url)
}
// DataChange
......@@ -65,9 +61,7 @@ func (l *dataListener) DataChange(eventType remoting.Event) bool {
}
for _, v := range l.interestedURL {
if serviceURL.URLEqual(*v) {
l.listener.Process(
&config_center.ConfigChangeEvent{
Key: eventType.Path,
......
......@@ -37,21 +37,18 @@ import (
// RegistryDataListener ...
type RegistryDataListener struct {
interestedURL map[string]*common.URL
interestedURL []*common.URL
listener config_center.ConfigurationListener
}
// NewRegistryDataListener ...
func NewRegistryDataListener(listener config_center.ConfigurationListener) *RegistryDataListener {
return &RegistryDataListener{listener: listener, interestedURL: make(map[string]*common.URL, 16)}
return &RegistryDataListener{listener: listener, interestedURL: make([]*common.URL, 16)}
}
// AddInterestedURL ...
func (l *RegistryDataListener) AddInterestedURL(url *common.URL) {
if _, ok := l.interestedURL[url.String()]; ok {
return
}
l.interestedURL[url.String()] = url
l.interestedURL = append(l.interestedURL, url)
}
// DataChange ...
......@@ -69,18 +66,19 @@ func (l *RegistryDataListener) DataChange(eventType remoting.Event) bool {
return false
}
if _, ok := l.interestedURL[serviceURL.String()]; !ok {
return false
for _, v := range l.interestedURL {
if serviceURL.URLEqual(*v) {
l.listener.Process(
&config_center.ConfigChangeEvent{
Key: eventType.Path,
Value: serviceURL,
ConfigType: eventType.Action,
},
)
return true
}
}
l.listener.Process(
&config_center.ConfigChangeEvent{
Key: eventType.Path,
Value: serviceURL,
ConfigType: eventType.Action,
},
)
return true
return false
}
// RegistryConfigurationListener ...
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment