|
|
|
@ -202,7 +202,12 @@ namespace client
|
|
|
|
|
return remoteLS;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LogPrint (eLogWarning, "Destination: remote LeaseSet expired");
|
|
|
|
|
std::lock_guard<std::mutex> lock(m_RemoteLeaseSetsMutex);
|
|
|
|
|
m_RemoteLeaseSets.erase (ident);
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@ -223,12 +228,16 @@ namespace client
|
|
|
|
|
if (!m_Pool) return nullptr;
|
|
|
|
|
if (!m_LeaseSet)
|
|
|
|
|
UpdateLeaseSet ();
|
|
|
|
|
std::lock_guard<std::mutex> l(m_LeaseSetMutex);
|
|
|
|
|
return m_LeaseSet;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LeaseSetDestination::SetLeaseSet (i2p::data::LocalLeaseSet * newLeaseSet)
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
std::lock_guard<std::mutex> l(m_LeaseSetMutex);
|
|
|
|
|
m_LeaseSet.reset (newLeaseSet);
|
|
|
|
|
}
|
|
|
|
|
i2p::garlic::GarlicDestination::SetLeaseSetUpdated ();
|
|
|
|
|
if (m_IsPublic)
|
|
|
|
|
{
|
|
|
|
|