mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 04:04:16 +00:00
delete destination if not requested again
This commit is contained in:
parent
ab5576c744
commit
b02c777390
15
NetDb.cpp
15
NetDb.cpp
@ -430,6 +430,7 @@ namespace data
|
|||||||
if (it != m_RequestedDestinations.end ())
|
if (it != m_RequestedDestinations.end ())
|
||||||
{
|
{
|
||||||
RequestedDestination * dest = it->second;
|
RequestedDestination * dest = it->second;
|
||||||
|
bool deleteDest = true;
|
||||||
if (num > 0)
|
if (num > 0)
|
||||||
{
|
{
|
||||||
auto exploratoryPool = i2p::tunnel::tunnels.GetExploratoryPool ();
|
auto exploratoryPool = i2p::tunnel::tunnels.GetExploratoryPool ();
|
||||||
@ -478,6 +479,7 @@ namespace data
|
|||||||
// we do
|
// we do
|
||||||
if (!dest->IsExcluded (r->GetIdentHash ()) && dest->GetNumExcludedPeers () < 30) // TODO: fix TunnelGateway first
|
if (!dest->IsExcluded (r->GetIdentHash ()) && dest->GetNumExcludedPeers () < 30) // TODO: fix TunnelGateway first
|
||||||
{
|
{
|
||||||
|
LogPrint ("Try ", key, " at floodfill ", peerHash);
|
||||||
// tell floodfill about us
|
// tell floodfill about us
|
||||||
msgs.push_back (i2p::tunnel::TunnelMessageBlock
|
msgs.push_back (i2p::tunnel::TunnelMessageBlock
|
||||||
{
|
{
|
||||||
@ -492,6 +494,7 @@ namespace data
|
|||||||
i2p::tunnel::eDeliveryTypeRouter,
|
i2p::tunnel::eDeliveryTypeRouter,
|
||||||
r->GetIdentHash (), 0, msg
|
r->GetIdentHash (), 0, msg
|
||||||
});
|
});
|
||||||
|
deleteDest = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -512,16 +515,26 @@ namespace data
|
|||||||
if (!dest->IsLeaseSet ()) // if not LeaseSet
|
if (!dest->IsLeaseSet ()) // if not LeaseSet
|
||||||
{
|
{
|
||||||
if (!dest->IsExcluded (router) && dest->GetNumExcludedPeers () < 30)
|
if (!dest->IsExcluded (router) && dest->GetNumExcludedPeers () < 30)
|
||||||
|
{
|
||||||
|
LogPrint ("Try ", key, " at floodfill ", peerHash, " directly");
|
||||||
i2p::transports.SendMessage (router, dest->CreateRequestMessage (router));
|
i2p::transports.SendMessage (router, dest->CreateRequestMessage (router));
|
||||||
|
deleteDest = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LogPrint ("Can't request LeaseSet");
|
LogPrint ("Can't request LeaseSet");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outbound && msgs.size () > 0)
|
if (outbound && msgs.size () > 0)
|
||||||
outbound->SendTunnelDataMsg (msgs);
|
outbound->SendTunnelDataMsg (msgs);
|
||||||
|
if (deleteDest)
|
||||||
|
{
|
||||||
|
// no more requests for tha destinationation. delete it
|
||||||
|
delete it->second;
|
||||||
|
m_RequestedDestinations.erase (it);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user