Browse Source

connect to NTCP2 address if presented

pull/1221/head
orignal 6 years ago
parent
commit
f407022fe6
  1. 19
      libi2pd/Transports.cpp

19
libi2pd/Transports.cpp

@ -404,14 +404,19 @@ namespace transport
if (!peer.numAttempts) // NTCP if (!peer.numAttempts) // NTCP
{ {
peer.numAttempts++; peer.numAttempts++;
auto address = peer.router->GetNTCPAddress (!context.SupportsV6 ()); if (m_NTCP2Server) // we support NTCP2
if (address && address->IsPublishedNTCP2 () && m_NTCP2Server) // NTCP2 have priority over NTCP if enabled
{ {
auto s = std::make_shared<NTCP2Session> (*m_NTCP2Server, peer.router); // NTCP2 have priority over NTCP
m_NTCP2Server->Connect (address->host, address->port, s); auto address = peer.router->GetNTCP2Address (true, !context.SupportsV6 ()); // published only
return true; if (address)
} {
auto s = std::make_shared<NTCP2Session> (*m_NTCP2Server, peer.router);
m_NTCP2Server->Connect (address->host, address->port, s);
return true;
}
}
// otherwise NTCP1
auto address = peer.router->GetNTCPAddress (!context.SupportsV6 ());
if (address && m_NTCPServer) if (address && m_NTCPServer)
{ {
#if BOOST_VERSION >= 104900 #if BOOST_VERSION >= 104900

Loading…
Cancel
Save