diff options
author | Lutz Bichler <Lutz.Bichler@bmw.de> | 2020-11-30 09:44:44 +0100 |
---|---|---|
committer | Lutz Bichler <Lutz.Bichler@bmw.de> | 2020-11-30 09:44:44 +0100 |
commit | 710a8613ee5bd9eb490addecd7f2ee8049c4fd0c (patch) | |
tree | 49215269c551ac7eba482b3d9f6f084f56bf2fd3 /implementation/endpoints/include/endpoint_manager_impl.hpp | |
parent | 46e6856a1a61f4b24e29c1f2d3ed0b4ee7da0ede (diff) | |
download | vSomeIP-710a8613ee5bd9eb490addecd7f2ee8049c4fd0c.tar.gz |
vsomeip 3.1.20.13.1.20.1
Diffstat (limited to 'implementation/endpoints/include/endpoint_manager_impl.hpp')
-rw-r--r-- | implementation/endpoints/include/endpoint_manager_impl.hpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/implementation/endpoints/include/endpoint_manager_impl.hpp b/implementation/endpoints/include/endpoint_manager_impl.hpp index cdf41b8..a7d28c6 100644 --- a/implementation/endpoints/include/endpoint_manager_impl.hpp +++ b/implementation/endpoints/include/endpoint_manager_impl.hpp @@ -44,12 +44,13 @@ public: std::shared_ptr<endpoint> create_server_endpoint(uint16_t _port, bool _reliable, bool _start); + std::shared_ptr<endpoint> find_server_endpoint(uint16_t _port, bool _reliable) const; std::shared_ptr<endpoint> find_or_create_server_endpoint( uint16_t _port, bool _reliable, bool _start, service_t _service, - instance_t _instance); + instance_t _instance, bool &_is_found, bool _is_multicast = false); bool remove_server_endpoint(uint16_t _port, bool _reliable); @@ -57,6 +58,7 @@ public: bool _reliable); void find_or_create_multicast_endpoint( service_t _service, instance_t _instance, + const boost::asio::ip::address &_sender, const boost::asio::ip::address &_address, uint16_t _port); void clear_multicast_endpoints(service_t _service, instance_t _instance); @@ -70,7 +72,12 @@ public: instance_t find_instance(service_t _service, endpoint* const _endpoint) const; + instance_t find_instance_multicast(service_t _service, + const boost::asio::ip::address &_sender) const; + bool remove_instance(service_t _service, endpoint* const _endpoint); + bool remove_instance_multicast(service_t _service, instance_t _instance); + // endpoint_host interface void on_connect(std::shared_ptr<endpoint> _endpoint); @@ -111,6 +118,7 @@ private: client_endpoints_by_ip_t client_endpoints_by_ip_; std::map<service_t, std::map<endpoint *, instance_t> > service_instances_; + std::map<service_t, std::map<boost::asio::ip::address, instance_t> > service_instances_multicast_; std::map<bool, std::set<uint16_t>> used_client_ports_; std::mutex used_client_ports_mutex_; |