diff --git a/src/cpp/rtps/transport/TCPTransportInterface.cpp b/src/cpp/rtps/transport/TCPTransportInterface.cpp index d6e262311d9..ca8e2e4fa96 100644 --- a/src/cpp/rtps/transport/TCPTransportInterface.cpp +++ b/src/cpp/rtps/transport/TCPTransportInterface.cpp @@ -225,6 +225,40 @@ void TCPTransportInterface::clean() } } +Locator TCPTransportInterface::remote_endpoint_to_locator( + const std::shared_ptr& channel) const +{ + Locator locator; + asio::error_code ec; + auto endpoint = channel->remote_endpoint(ec); + if (ec) + { + LOCATOR_INVALID(locator); + } + else + { + endpoint_to_locator(endpoint, locator); + } + return locator; +} + +Locator TCPTransportInterface::local_endpoint_to_locator( + const std::shared_ptr& channel) const +{ + Locator locator; + asio::error_code ec; + auto endpoint = channel->local_endpoint(ec); + if (ec) + { + LOCATOR_INVALID(locator); + } + else + { + endpoint_to_locator(endpoint, locator); + } + return locator; +} + void TCPTransportInterface::bind_socket( std::shared_ptr& channel) {