|
|
@ -119,9 +119,8 @@ namespace data |
|
|
|
if (r->GetTimestamp () > it->second->GetTimestamp ()) |
|
|
|
if (r->GetTimestamp () > it->second->GetTimestamp ()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
LogPrint ("RouterInfo updated"); |
|
|
|
LogPrint ("RouterInfo updated"); |
|
|
|
*m_RouterInfos[r->GetIdentHash ()] = *r; // we can't replace point because it's used by tunnels
|
|
|
|
*(it->second) = *r; // we can't replace pointer because it's used by tunnels
|
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
|
|
|
|
delete r; |
|
|
|
delete r; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
@ -135,8 +134,19 @@ namespace data |
|
|
|
{ |
|
|
|
{ |
|
|
|
LeaseSet * l = new LeaseSet (buf, len); |
|
|
|
LeaseSet * l = new LeaseSet (buf, len); |
|
|
|
DeleteRequestedDestination (l->GetIdentHash ()); |
|
|
|
DeleteRequestedDestination (l->GetIdentHash ()); |
|
|
|
|
|
|
|
auto it = m_LeaseSets.find(l->GetIdentHash ()); |
|
|
|
|
|
|
|
if (it != m_LeaseSets.end ()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
LogPrint ("LeaseSet updated"); |
|
|
|
|
|
|
|
*(it->second) = *l; // we can't replace pointer because it's used by streams
|
|
|
|
|
|
|
|
delete l; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
LogPrint ("New LeaseSet added"); |
|
|
|
m_LeaseSets[l->GetIdentHash ()] = l; |
|
|
|
m_LeaseSets[l->GetIdentHash ()] = l; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
RouterInfo * NetDb::FindRouter (const IdentHash& ident) const |
|
|
|
RouterInfo * NetDb::FindRouter (const IdentHash& ident) const |
|
|
|
{ |
|
|
|
{ |
|
|
|