mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-27 11:17:49 +02:00
initial filtration of bad peers
This commit is contained in:
parent
5f199432f0
commit
577ba9b397
2 changed files with 8 additions and 1 deletions
|
@ -261,8 +261,13 @@ namespace tunnel
|
|||
std::shared_ptr<const i2p::data::RouterInfo> TunnelPool::SelectNextHop (std::shared_ptr<const i2p::data::RouterInfo> prevHop) const
|
||||
{
|
||||
bool isExploratory = (m_LocalDestination == &i2p::context); // TODO: implement it better
|
||||
auto hop = isExploratory ? i2p::data::netdb.GetRandomRouter (prevHop):
|
||||
auto hop = isExploratory ? i2p::data::netdb.GetRandomRouter (prevHop):
|
||||
i2p::data::netdb.GetHighBandwidthRandomRouter (prevHop);
|
||||
if (!isExploratory && hop && hop->GetProfile ()->IsBad ())
|
||||
{
|
||||
LogPrint (eLogInfo, "Selected peer for tunnel has bad profile. Selecting another");
|
||||
hop = i2p::data::netdb.GetHighBandwidthRandomRouter (prevHop);
|
||||
}
|
||||
|
||||
if (!hop)
|
||||
hop = i2p::data::netdb.GetRandomRouter ();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue