1
0
mirror of https://github.com/PurpleI2P/i2pd.git synced 2025-02-02 06:54:15 +00:00

connect to NTCP2 address if presented

This commit is contained in:
orignal 2018-08-04 13:48:09 -04:00
parent 41b9f19b01
commit f407022fe6

View File

@ -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