Browse Source

keyspace rotation

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

15
NetDb.cpp

@ -95,7 +95,7 @@ namespace data
void NetDb::Run () void NetDb::Run ()
{ {
uint32_t lastSave = 0, lastPublish = 0; uint32_t lastSave = 0, lastPublish = 0, lastKeyspaceRotation = 0;
m_IsRunning = true; m_IsRunning = true;
while (m_IsRunning) while (m_IsRunning)
{ {
@ -142,6 +142,11 @@ namespace data
Publish (); Publish ();
lastPublish = ts; lastPublish = ts;
} }
if (ts % 86400 < 60 && ts - lastKeyspaceRotation >= 60) // wihhin 1 minutes since midnight (86400 = 24*3600)
{
KeyspaceRotation ();
lastKeyspaceRotation = ts;
}
} }
catch (std::exception& ex) 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

@ -95,12 +95,13 @@ namespace data
void Publish (); void Publish ();
void ValidateSubscriptions (); void ValidateSubscriptions ();
const RouterInfo * GetClosestFloodfill (const IdentHash& destination, const std::set<IdentHash>& excluded) const; const RouterInfo * GetClosestFloodfill (const IdentHash& destination, const std::set<IdentHash>& excluded) const;
void KeyspaceRotation ();
RequestedDestination * CreateRequestedDestination (const IdentHash& dest, RequestedDestination * CreateRequestedDestination (const IdentHash& dest,
bool isLeaseSet, bool isExploratory = false); bool isLeaseSet, bool isExploratory = false);
void DeleteRequestedDestination (const IdentHash& dest); void DeleteRequestedDestination (const IdentHash& dest);
void DeleteRequestedDestination (RequestedDestination * dest); void DeleteRequestedDestination (RequestedDestination * dest);
private: private:
std::map<IdentHash, LeaseSet *> m_LeaseSets; std::map<IdentHash, LeaseSet *> m_LeaseSets;

Loading…
Cancel
Save