mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 08:14:15 +00:00
keyspace rotation
This commit is contained in:
parent
f2f4a0b04e
commit
46d2b38760
15
NetDb.cpp
15
NetDb.cpp
@ -95,7 +95,7 @@ namespace data
|
||||
|
||||
void NetDb::Run ()
|
||||
{
|
||||
uint32_t lastSave = 0, lastPublish = 0;
|
||||
uint32_t lastSave = 0, lastPublish = 0, lastKeyspaceRotation = 0;
|
||||
m_IsRunning = true;
|
||||
while (m_IsRunning)
|
||||
{
|
||||
@ -142,6 +142,11 @@ namespace data
|
||||
Publish ();
|
||||
lastPublish = ts;
|
||||
}
|
||||
if (ts % 86400 < 60 && ts - lastKeyspaceRotation >= 60) // wihhin 1 minutes since midnight (86400 = 24*3600)
|
||||
{
|
||||
KeyspaceRotation ();
|
||||
lastKeyspaceRotation = ts;
|
||||
}
|
||||
}
|
||||
catch (std::exception& ex)
|
||||
{
|
||||
@ -724,5 +729,13 @@ namespace data
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void NetDb::KeyspaceRotation ()
|
||||
{
|
||||
for (auto it: m_RouterInfos)
|
||||
it.second->UpdateRoutingKey ();
|
||||
LogPrint ("Keyspace rotation complete");
|
||||
Publish ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
3
NetDb.h
3
NetDb.h
@ -95,12 +95,13 @@ namespace data
|
||||
void Publish ();
|
||||
void ValidateSubscriptions ();
|
||||
const RouterInfo * GetClosestFloodfill (const IdentHash& destination, const std::set<IdentHash>& excluded) const;
|
||||
void KeyspaceRotation ();
|
||||
|
||||
RequestedDestination * CreateRequestedDestination (const IdentHash& dest,
|
||||
bool isLeaseSet, bool isExploratory = false);
|
||||
void DeleteRequestedDestination (const IdentHash& dest);
|
||||
void DeleteRequestedDestination (RequestedDestination * dest);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
std::map<IdentHash, LeaseSet *> m_LeaseSets;
|
||||
|
Loading…
x
Reference in New Issue
Block a user