mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 08:14:15 +00:00
SU3 resseed first
This commit is contained in:
parent
9ce56eb95f
commit
6ac846f95d
17
NetDb.cpp
17
NetDb.cpp
@ -62,7 +62,7 @@ namespace data
|
|||||||
#endif
|
#endif
|
||||||
NetDb netdb;
|
NetDb netdb;
|
||||||
|
|
||||||
NetDb::NetDb (): m_IsRunning (false), m_ReseedRetries (0), m_Thread (0)
|
NetDb::NetDb (): m_IsRunning (false), m_Thread (0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,11 +78,22 @@ namespace data
|
|||||||
void NetDb::Start ()
|
void NetDb::Start ()
|
||||||
{
|
{
|
||||||
Load (m_NetDbPath);
|
Load (m_NetDbPath);
|
||||||
while (m_RouterInfos.size () < 100 && m_ReseedRetries < 10)
|
// try SU3 first
|
||||||
|
int reseedRetries = 0;
|
||||||
|
while (m_RouterInfos.size () < 100 && reseedRetries < 10)
|
||||||
|
{
|
||||||
|
Reseeder reseeder;
|
||||||
|
reseeder.ReseedNowSU3();
|
||||||
|
reseedRetries++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if still not enough download .dat files
|
||||||
|
reseedRetries = 0;
|
||||||
|
while (m_RouterInfos.size () < 100 && reseedRetries < 10)
|
||||||
{
|
{
|
||||||
Reseeder reseeder;
|
Reseeder reseeder;
|
||||||
reseeder.reseedNow();
|
reseeder.reseedNow();
|
||||||
m_ReseedRetries++;
|
reseedRetries++;
|
||||||
Load (m_NetDbPath);
|
Load (m_NetDbPath);
|
||||||
}
|
}
|
||||||
m_Thread = new std::thread (std::bind (&NetDb::Run, this));
|
m_Thread = new std::thread (std::bind (&NetDb::Run, this));
|
||||||
|
1
NetDb.h
1
NetDb.h
@ -117,7 +117,6 @@ namespace data
|
|||||||
std::map<IdentHash, RequestedDestination *> m_RequestedDestinations;
|
std::map<IdentHash, RequestedDestination *> m_RequestedDestinations;
|
||||||
|
|
||||||
bool m_IsRunning;
|
bool m_IsRunning;
|
||||||
int m_ReseedRetries;
|
|
||||||
std::thread * m_Thread;
|
std::thread * m_Thread;
|
||||||
i2p::util::Queue<I2NPMessage> m_Queue; // of I2NPDatabaseStoreMsg
|
i2p::util::Queue<I2NPMessage> m_Queue; // of I2NPDatabaseStoreMsg
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <boost/regex.hpp>
|
#include <boost/regex.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
|
#include <cryptopp/osrng.h>
|
||||||
#include <cryptopp/zinflate.h>
|
#include <cryptopp/zinflate.h>
|
||||||
#include "I2PEndian.h"
|
#include "I2PEndian.h"
|
||||||
#include "Reseed.h"
|
#include "Reseed.h"
|
||||||
@ -125,7 +126,9 @@ namespace data
|
|||||||
|
|
||||||
int Reseeder::ReseedNowSU3 ()
|
int Reseeder::ReseedNowSU3 ()
|
||||||
{
|
{
|
||||||
std::string reseedHost = httpReseedHostList[(rand() % httpReseedHostList.size())];
|
CryptoPP::AutoSeededRandomPool rnd;
|
||||||
|
auto ind = rnd.GenerateWord32 (0, httpReseedHostList.size() - 1);
|
||||||
|
std::string reseedHost = httpReseedHostList[ind];
|
||||||
return ReseedFromSU3 (reseedHost);
|
return ReseedFromSU3 (reseedHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user