[VOL-4442] grpc streaming connection monitoring
Change-Id: I6b26a29c74be8833e7262eb59d266e6cce66f0c3
diff --git a/rw_core/core/adapter/manager.go b/rw_core/core/adapter/manager.go
index 258ff2a..f5a6cac 100644
--- a/rw_core/core/adapter/manager.go
+++ b/rw_core/core/adapter/manager.go
@@ -98,9 +98,18 @@
// Stop all adapters
aMgr.lockAdapterAgentsMap.RLock()
defer aMgr.lockAdapterAgentsMap.RUnlock()
+ var wg sync.WaitGroup
for _, adapterAgent := range aMgr.adapterAgents {
- adapterAgent.stop(ctx)
+ // Run the agent stop in its own go routine to notify to the
+ // adapters that the Core is no longer a client
+ wg.Add(1)
+ go func(agt *agent) {
+ agt.stop(ctx)
+ wg.Done()
+ }(adapterAgent)
}
+ // Wait for all tests to complete
+ wg.Wait()
}
func (aMgr *Manager) GetAdapterEndpoint(ctx context.Context, deviceID string, deviceType string) (string, error) {