In function: routing_manager_base::debounce_timeout_update_cbk the if condition: if (_event && (_event->get_subscribers().find(_client) != _event->get_subscribers().end()) && _filter) does not work properly. Here get_subscribers() return a copy of a set with each call. So the objects will never be equal here _event->get_subscribers().find(_client) != _event->get_subscribers().end())
My PR: https://github.com/COVESA/vsomeip/pull/739 fixes the issue, but get_subscribers() should be refactored to return a reference instead a copy.
vSomeip Version
v3.4.10
Boost Version
1.74
Environment
Ubuntu 22.04
Describe the bug
In function:
routing_manager_base::debounce_timeout_update_cbk
the if condition:if (_event && (_event->get_subscribers().find(_client) != _event->get_subscribers().end()) && _filter)
does not work properly. Hereget_subscribers()
return a copy of a set with each call. So the objects will never be equal here_event->get_subscribers().find(_client) != _event->get_subscribers().end())
My PR: https://github.com/COVESA/vsomeip/pull/739 fixes the issue, but get_subscribers() should be refactored to return a reference instead a copy.Reproduction Steps
No response
Expected behaviour
No response
Logs and Screenshots
No response