| 531 | } |
| 532 | |
| 533 | void routing_manager_client::subscribe(client_t _client, service_t _service, instance_t _instance, eventgroup_t _eventgroup, |
| 534 | major_version_t _major, event_t _event, const std::shared_ptr<debounce_filter_impl_t>& _filter) { |
| 535 | |
| 536 | (void)_client; |
| 537 | |
| 538 | bool send{false}; |
| 539 | { |
| 540 | std::scoped_lock its_lock{consumer_mutex_}; |
| 541 | subscription_data_t subscription = {service_instance_t{_service, _instance}, _eventgroup, _major, _event, _filter}; |
| 542 | pending_subscriptions_.insert(subscription); |
| 543 | if (state_machine_->state() == routing_client_state_e::ST_REGISTERED |
| 544 | && available_services_.is_available(_service, _instance, _major)) { |
| 545 | send = true; |
| 546 | } |
| 547 | } |
| 548 | if (send) { |
| 549 | send_subscribe(get_client(), _service, _instance, _eventgroup, _major, _event, _filter); |
| 550 | } |
| 551 | } |
| 552 | |
| 553 | void routing_manager_client::send_subscribe(client_t _client, service_t _service, instance_t _instance, eventgroup_t _eventgroup, |
| 554 | major_version_t _major, event_t _event, |
nothing calls this directly
no test coverage detected