summaryrefslogtreecommitdiff
path: root/implementation/routing/include/routing_manager_impl.hpp
diff options
context:
space:
mode:
authorDiogo Pedrosa <48529452+DiogoPedrozza@users.noreply.github.com>2023-03-03 11:17:22 +0000
committerGitHub <noreply@github.com>2023-03-03 11:17:22 +0000
commit11447b294a5ad4d8be08a466f769670aa7ed924a (patch)
tree75a04fb3c8cca73a377e707d577c74bcb329597a /implementation/routing/include/routing_manager_impl.hpp
parent44be74e9d2b432494a0634f997887684c71f187f (diff)
downloadvSomeIP-11447b294a5ad4d8be08a466f769670aa7ed924a.tar.gz
vsomeip 3.1.37.1 (#414)
Co-authored-by: Diogo Pedrosa <diogo.pedrosa@ctw.bmwgroup.com>
Diffstat (limited to 'implementation/routing/include/routing_manager_impl.hpp')
-rw-r--r--implementation/routing/include/routing_manager_impl.hpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/implementation/routing/include/routing_manager_impl.hpp b/implementation/routing/include/routing_manager_impl.hpp
index b5f0ea0..3fd6eed 100644
--- a/implementation/routing/include/routing_manager_impl.hpp
+++ b/implementation/routing/include/routing_manager_impl.hpp
@@ -140,7 +140,7 @@ public:
void on_subscribe_nack(client_t _client, service_t _service,
instance_t _instance, eventgroup_t _eventgroup, event_t _event,
- remote_subscription_id_t _id);
+ remote_subscription_id_t _id, bool _simulated);
// interface to stub
@@ -396,6 +396,12 @@ private:
const std::set<client_t> &_removed,
const remote_subscription_id_t _id);
+ void send_expired_subscription(client_t _offering_client,
+ const service_t _service, const instance_t _instance,
+ const eventgroup_t _eventgroup,
+ const std::set<client_t> &_removed,
+ const remote_subscription_id_t _id);
+
void cleanup_server_endpoint(service_t _service,
const std::shared_ptr<endpoint>& _endpoint);
@@ -414,6 +420,8 @@ private:
method_t _method, length_t _length);
void statistics_log_timer_cbk(boost::system::error_code const & _error);
+ void send_suspend() const;
+
private:
std::shared_ptr<routing_manager_stub> stub_;
std::shared_ptr<sd::service_discovery> discovery_;
@@ -476,7 +484,6 @@ private:
pending_remote_offer_id_t pending_remote_offer_id_;
std::map<pending_remote_offer_id_t, std::pair<service_t, instance_t>> pending_remote_offers_;
- std::mutex last_resume_mutex_;
std::chrono::steady_clock::time_point last_resume_;
std::mutex offer_serialization_mutex_;
@@ -493,6 +500,9 @@ private:
msg_statistic_t> message_statistics_;
std::tuple<service_t, instance_t, method_t> message_to_discard_;
uint32_t ignored_statistics_counter_;
+
+ // synchronize update_remote_subscription() and send_(un)subscription()
+ std::mutex update_remote_subscription_mutex_;
};
} // namespace vsomeip_v3