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

Method init_receiver_side

implementation/routing/src/routing_manager_client.cpp:1882–1905  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1880}
1881
1882void routing_manager_client::init_receiver_side([[maybe_unused]] std::unique_lock<std::mutex> const& _receive_lock) {
1883 auto create_receiver = [&](auto& _receiver, transport_protocol_e _protocol) {
1884 if (_receiver) {
1885 std::uint16_t its_port = _receiver->get_local_port();
1886 if (its_port != ILLEGAL_PORT && _protocol == transport_protocol_e::TCP)
1887 VSOMEIP_INFO << "Reusing local server endpoint @" << its_port << " endpoint: " << _receiver;
1888 return;
1889 }
1890 _receiver = ep_mgr_->create_local_server(_protocol);
1891 };
1892
1893 switch (routing_mode_) {
1894 case routing_mode_e::UDS_AND_TCP:
1895 create_receiver(tcp_receiver_, transport_protocol_e::TCP);
1896 create_receiver(uds_receiver_, transport_protocol_e::UDS);
1897 break;
1898 case routing_mode_e::UDS_ONLY:
1899 create_receiver(uds_receiver_, transport_protocol_e::UDS);
1900 break;
1901 default: // TCP_ONLY
1902 create_receiver(tcp_receiver_, transport_protocol_e::TCP);
1903 break;
1904 }
1905}
1906
1907void routing_manager_client::notify_remote_initially(service_t _service, instance_t _instance, eventgroup_t _eventgroup,
1908 std::scoped_lock<std::mutex> const& _lock) {

Callers

nothing calls this directly

Calls 2

create_local_serverMethod · 0.80
get_local_portMethod · 0.45

Tested by

no test coverage detected