eclipse-score / eclipse-score/communication
mw/com: Add multithreaded tests for cleanup of handler when stopping search
- Dominant language
- C++
- Stars
- 62
- Forks
- 97
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 72
Description
### What
The binding-independent layer did not really hold up to the expectations we put on it in LoLa.
Assume you started a service discovery. Your handler is currently called and you got the result that you wanted. You call StopFindService().
What would happen:
1. Binding-independent layer forwards stop request to all bindings
2. Bindings take care to "stop" the request
3. Binding-independent layer removes the stored handler
4. But this concept missed the point that when you are within the handler and call StopFindService(), you can not destroy the handler immediately. You must wait for it to finish.
This is the concept that LoLa does with late removal in the worker thread.
The binding-independent layer violated this concept.
In the meantime this was fixed, but the tests do not cover this scenario sufficiently in a multithreaded context.
Therefore, it could still give cornercases where we violate the concept.
Write multithreaded tests for all cornercases of stopping a service discovery.
### How
_No response_
### Estimates for realization
- Effort medium
- No impact on users expected
### Category
- [ ] Affects Detailed Design
### Requirements / Architecture
- [x] Requirements / Architecture are not affected by this change?
Contributor guide
Assessment
This issue has not been assessed yet.