@@ -31,16 +31,20 @@ namespace libp2p::transport {
3131 } // namespace
3232
3333 TcpConnection::TcpConnection (boost::asio::io_context &ctx,
34+ ProtoAddrVec layers,
3435 boost::asio::ip::tcp::socket &&socket)
3536 : context_(ctx),
37+ layers_{std::move (layers)},
3638 socket_ (std::move(socket)),
3739 connection_phase_done_{false },
3840 deadline_timer_ (context_) {
3941 std::ignore = saveMultiaddresses ();
4042 }
4143
42- TcpConnection::TcpConnection (boost::asio::io_context &ctx)
44+ TcpConnection::TcpConnection (boost::asio::io_context &ctx,
45+ ProtoAddrVec layers)
4346 : context_(ctx),
47+ layers_{std::move (layers)},
4448 socket_ (context_),
4549 connection_phase_done_{false },
4650 deadline_timer_ (context_) {}
@@ -292,15 +296,15 @@ namespace libp2p::transport {
292296 if (!local_multiaddress_) {
293297 auto endpoint (socket_.local_endpoint (ec));
294298 if (!ec) {
295- OUTCOME_TRY (addr, detail::makeAddress (endpoint));
296- local_multiaddress_ = std::move (addr );
299+ BOOST_OUTCOME_TRY (local_multiaddress_,
300+ detail::makeAddress (endpoint, &layers_) );
297301 }
298302 }
299303 if (!remote_multiaddress_) {
300304 auto endpoint (socket_.remote_endpoint (ec));
301305 if (!ec) {
302- OUTCOME_TRY (addr, detail::makeAddress (endpoint));
303- remote_multiaddress_ = std::move (addr );
306+ BOOST_OUTCOME_TRY (remote_multiaddress_,
307+ detail::makeAddress (endpoint, &layers_) );
304308 }
305309 }
306310 } else {
0 commit comments