Skip to content
Snippets Groups Projects
Commit 46eec81f authored by Josh Brooks's avatar Josh Brooks
Browse files

Remove GetServices from interface

parent b5c88b43
No related branches found
No related tags found
2 merge requests!510Release,!360Implement Notifications for bindings
......@@ -176,9 +176,6 @@ type Client interface {
// running. Multiple trackTriggers can be registered.
TrackServices(tracker message.ServicesTracker)
// GetServices retrieves the message.ServiceList.
GetServices() message.ServiceList
/* === In inProcess ===================================================== */
/* It is possible to receive a message over cMix before the fingerprints or
triggers are registered. As a result, when handling fails, messages are
......
......@@ -43,7 +43,6 @@ type Handler interface {
DeleteService(clientID *id.ID, toDelete Service, response Processor)
DeleteClientService(clientID *id.ID)
TrackServices(triggerTracker ServicesTracker)
GetServices() ServiceList
}
type handler struct {
......
......@@ -20,17 +20,13 @@ func (sm *ServicesManager) TrackServices(tracker ServicesTracker) {
sm.trackers = append(sm.trackers, tracker)
}
// GetServices retrieves the ServiceList from the ServicesManager.
// This is effectively a serializing of the
// ServicesManager's internal tmap.
func (sm *ServicesManager) GetServices() ServiceList {
// triggerServiceTracking triggers the tracking of services. Is it called when a
// service is added or removed.
func (sm *ServicesManager) triggerServiceTracking() {
sm.Mutex.Lock()
defer sm.Mutex.Unlock()
return sm.getServices()
if len(sm.trackers) == 0 {
return
}
// getServices is the non-thread-safe version of GetServices.
func (sm *ServicesManager) getServices() ServiceList {
services := make(ServiceList)
for uid, tmap := range sm.tmap {
tList := make([]Service, 0, len(tmap))
......@@ -39,17 +35,6 @@ func (sm *ServicesManager) getServices() ServiceList {
}
services[uid] = tList
}
return services
}
// triggerServiceTracking triggers the tracking of services. Is it called when a
// service is added or removed.
func (sm *ServicesManager) triggerServiceTracking() {
sm.Mutex.Lock()
if len(sm.trackers) == 0 {
return
}
services := sm.GetServices()
sm.Mutex.Unlock()
for _, callback := range sm.trackers {
......
......@@ -13,7 +13,7 @@ import (
func TestServiceList_Marshal_UnmarshalJSON(t *testing.T) {
var sl ServiceList = make(map[id.ID][]Service)
numServices := 10
numServices := 3
testString := "test"
for i := 0; i < numServices; i++ {
uid := id.NewIdFromUInt(uint64(i), id.User, t)
......@@ -24,6 +24,8 @@ func TestServiceList_Marshal_UnmarshalJSON(t *testing.T) {
t.Errorf(err.Error())
}
t.Logf("%s", jsonResult)
sl = make(map[id.ID][]Service)
err = sl.UnmarshalJSON(jsonResult)
if err != nil {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment