I have a question as to the behaviour of ServiceDiscoveryManager.

When i create a lookupCache with a ServiceDiscoveryListener in the constructor, very seldom i miss a ServiceAdded event for a service that is discovered, while another lookupCache created with the same ServiceDiscoveryManager but earlier, with a ServiceDiscoveryListener in the constructor, does get a ServiceAdded event for the service.

I've tried to find a definition of this behaviour, but cannot find it. Does the SDL get a serviceAdded event for every service discovered, or do i need to read the lookupCache at construction time and generate the events myself?

Reading the docs of LookupCache.addListener() i suspect some race condition in creating the lookupCache. Have others had this occur as well? Maybe due to transient network errors?

As a sidenode, shall we ensure the QA build is run on a multi-core machine? In order to expose those possible race conditions?




Reply via email to