On 13/09/2018 11:05, Huw Davies wrote:
+ Sleep(1000);
Can't we poll for this? The tests are starting to take quite a long time to complete, and this doesn't help.
I'm not sure there is a very good way of avoiding it. We're effectively waiting for an extra 2 messages *not* to be received. We can easily test when the first message has been received and processed of course, but there's no way of identifying when the subsequent messages have been received. WSD does not expose any kind of "duplicate message" notification that we could listen for.
What I could do is reduce the delay down from 1000ms to, say, 250ms. The UDP messages are sent immediately rather than with a variable delay (as per WSD itself), so they should be processed and dispatched quickly. In my tests this works OK, but of course it could conceivably be more vulnerable to sporadic failures on slow or very busy systems.
I can also try to look at any other delays that are already present in the tests and see if they can be reduced/eliminated once this series is complete.
Thanks,
Owen