MCPcopy Create free account
hub / github.com/COVESA/vsomeip / subscribe

Method subscribe

implementation/routing/src/routing_manager_client.cpp:533–551  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

531}
532
533void 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
553void 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,

Callers

nothing calls this directly

Calls 4

send_subscribeFunction · 0.85
insertMethod · 0.80
stateMethod · 0.80
is_availableMethod · 0.45

Tested by

no test coverage detected