durable write for nodedb

pull/707/head
Jeff Becker 5 years ago
parent 16e20a9e79
commit b0d850afb5
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -129,8 +129,13 @@ llarp_nodedb::InsertAsync(llarp::RouterContact rc,
std::shared_ptr< llarp::Logic > logic,
std::function< void(void) > completionHandler)
{
disk->addJob(
std::bind(&handle_async_insert_rc, this, rc, logic, completionHandler));
const auto job = std::bind(&handle_async_insert_rc, this, rc, logic, completionHandler);
size_t tries = 10;
while((!disk->addJob(job)) && tries-- > 0)
std::this_thread::sleep_for(std::chrono::milliseconds(1));
// on fail do synchronous write
if(tries == 0)
Insert(rc);
}
bool

@ -1534,8 +1534,17 @@ namespace llarp
LogInfo("RPC Caller to ", lokidRPCAddr, " started");
}
cryptoworker->start();
disk->start();
if(!cryptoworker->start())
{
LogError("crypto worker failed to start");
return false;
}
if(!disk->start())
{
LogError("disk worker failed to start");
return false;
}
for(const auto &rc : bootstrapRCList)
{

Loading…
Cancel
Save