Browse Source

keyspace rotation

pull/73/merge
orignal 11 years ago
parent
commit
46d2b38760
  1. 15
      NetDb.cpp
  2. 1
      NetDb.h

15
NetDb.cpp

@ -95,7 +95,7 @@ namespace data @@ -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 @@ -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 @@ -724,5 +729,13 @@ namespace data
}
}
}
void NetDb::KeyspaceRotation ()
{
for (auto it: m_RouterInfos)
it.second->UpdateRoutingKey ();
LogPrint ("Keyspace rotation complete");
Publish ();
}
}
}

1
NetDb.h

@ -95,6 +95,7 @@ namespace data @@ -95,6 +95,7 @@ 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);

Loading…
Cancel
Save