diff --git a/libi2pd/RouterContext.cpp b/libi2pd/RouterContext.cpp index 6c5d3405..a7273376 100644 --- a/libi2pd/RouterContext.cpp +++ b/libi2pd/RouterContext.cpp @@ -224,7 +224,7 @@ namespace i2p if (port == 9150) port = 9151; // Tor browser } if (port) address->port = port; - address->cost = publish ? 3 : 14; + address->cost = publish ? i2p::data::COST_NTCP2_PUBLISHED : i2p::data::COST_NTCP2_NON_PUBLISHED; address->ntcp2->isPublished = publish; address->ntcp2->iv = m_NTCP2Keys->iv; updated = true; @@ -432,7 +432,7 @@ namespace i2p for (auto& addr : addresses) if (addr->ssu) { - addr->cost = 11; + addr->cost = i2p::data::COST_SSU_THROUGH_INTRODUCERS; addr->caps &= ~i2p::data::RouterInfo::eSSUIntroducer; // can't be introducer addr->ssu->introducers.clear (); port = addr->port; @@ -460,7 +460,7 @@ namespace i2p for (auto& addr : addresses) if (addr->ssu) { - addr->cost = 9; + addr->cost = i2p::data::COST_SSU_DIRECT; addr->caps |= i2p::data::RouterInfo::eSSUIntroducer; addr->ssu->introducers.clear (); port = addr->port; diff --git a/libi2pd/RouterInfo.cpp b/libi2pd/RouterInfo.cpp index c73800df..4ea66add 100644 --- a/libi2pd/RouterInfo.cpp +++ b/libi2pd/RouterInfo.cpp @@ -772,7 +772,7 @@ namespace data addr->host = boost::asio::ip::address::from_string (host); addr->port = port; addr->transportStyle = eTransportSSU; - addr->cost = 9; // NTCP2 should have priority over SSU + addr->cost = COST_SSU_DIRECT; // NTCP2 should have priority over SSU addr->caps = i2p::data::RouterInfo::eSSUTesting | i2p::data::RouterInfo::eSSUIntroducer; // BC; addr->date = 0; addr->ssu.reset (new SSUExt ()); @@ -796,7 +796,7 @@ namespace data addr->host = host; addr->port = port; addr->transportStyle = eTransportNTCP; - addr->cost = port ? 3 : 14; // override from RouterContext::PublishNTCP2Address + addr->cost = port ? COST_NTCP2_PUBLISHED : COST_NTCP2_NON_PUBLISHED; // override from RouterContext::PublishNTCP2Address addr->caps = 0; addr->date = 0; addr->ntcp2.reset (new NTCP2Ext ()); diff --git a/libi2pd/RouterInfo.h b/libi2pd/RouterInfo.h index 855f16f1..9e9f00cd 100644 --- a/libi2pd/RouterInfo.h +++ b/libi2pd/RouterInfo.h @@ -49,6 +49,11 @@ namespace data const char CAPS_FLAG_SSU_TESTING = 'B'; const char CAPS_FLAG_SSU_INTRODUCER = 'C'; + const uint8_t COST_NTCP2_PUBLISHED = 3; + const uint8_t COST_NTCP2_NON_PUBLISHED = 14; + const uint8_t COST_SSU_DIRECT = 9; + const uint8_t COST_SSU_THROUGH_INTRODUCERS = 11; + const int MAX_RI_BUFFER_SIZE = 2048; // if RouterInfo exceeds 2048 we consider it as malformed, might be changed later class RouterInfo: public RoutingDestination {