|
|
|
@ -47,6 +47,10 @@ namespace llarp
|
|
|
|
|
llarp::LogError("failed to load config file ", configfile);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
llarp_config_iterator iter;
|
|
|
|
|
iter.user = this;
|
|
|
|
|
iter.visit = &iter_config;
|
|
|
|
|
llarp_config_iter(config, &iter);
|
|
|
|
|
return router->ReloadConfig(config);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -65,10 +69,6 @@ namespace llarp
|
|
|
|
|
ctx->worker = llarp_init_threadpool(workers, "llarp-worker");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if(!strcmp(key, "contact-file"))
|
|
|
|
|
{
|
|
|
|
|
strncpy(ctx->conatctFile, val, fmin(255, strlen(val)));
|
|
|
|
|
}
|
|
|
|
|
else if(!strcmp(key, "net-threads"))
|
|
|
|
|
{
|
|
|
|
|
ctx->num_nethreads = atoi(val);
|
|
|
|
@ -82,7 +82,7 @@ namespace llarp
|
|
|
|
|
{
|
|
|
|
|
if(!strcmp(key, "dir"))
|
|
|
|
|
{
|
|
|
|
|
strncpy(ctx->nodedb_dir, val, sizeof(ctx->nodedb_dir));
|
|
|
|
|
ctx->nodedb_dir = val;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -92,20 +92,14 @@ namespace llarp
|
|
|
|
|
{
|
|
|
|
|
llarp_crypto_init(&crypto);
|
|
|
|
|
nodedb = llarp_nodedb_new(&crypto);
|
|
|
|
|
if(!nodedb_dir[0])
|
|
|
|
|
{
|
|
|
|
|
llarp::LogError("no nodedb_dir configured");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nodedb_dir[sizeof(nodedb_dir) - 1] = 0;
|
|
|
|
|
if(!llarp_nodedb_ensure_dir(nodedb_dir))
|
|
|
|
|
if(!llarp_nodedb_ensure_dir(nodedb_dir.c_str()))
|
|
|
|
|
{
|
|
|
|
|
llarp::LogError("nodedb_dir is incorrect");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
// llarp::LogInfo("nodedb_dir [", nodedb_dir, "] configured!");
|
|
|
|
|
ssize_t loaded = llarp_nodedb_load_dir(nodedb, nodedb_dir);
|
|
|
|
|
ssize_t loaded = llarp_nodedb_load_dir(nodedb, nodedb_dir.c_str());
|
|
|
|
|
llarp::LogInfo("nodedb_dir loaded ", loaded, " RCs from [", nodedb_dir,
|
|
|
|
|
"]");
|
|
|
|
|
if(loaded < 0)
|
|
|
|
@ -122,7 +116,8 @@ namespace llarp
|
|
|
|
|
{
|
|
|
|
|
llarp::LogInfo(LLARP_VERSION, " ", LLARP_RELEASE_MOTTO);
|
|
|
|
|
llarp::LogInfo("starting up");
|
|
|
|
|
this->LoadDatabase();
|
|
|
|
|
if(!this->LoadDatabase())
|
|
|
|
|
return -1;
|
|
|
|
|
llarp_ev_loop_alloc(&mainloop);
|
|
|
|
|
|
|
|
|
|
// ensure worker thread pool
|
|
|
|
|