load config-file from config, llarp_main_getLocalRC(), llarp_main_checkOnline(), llarp_main_queryDHT() refactor

pull/3/head
Ryan Tharp 6 years ago
parent bf4b9d3a8f
commit d132e3cd10

@ -58,7 +58,11 @@ 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);
@ -362,10 +366,57 @@ llarp_main_getDatabase(struct llarp_main *ptr, byte_t *pk)
{
return ptr->ctx->GetDatabase(pk);
}
struct llarp_rc *
llarp_main_getLocalRC(struct llarp_main *ptr)
{
//
/*
llarp_config_iterator iter;
iter.user = this;
iter.visit = &iter_config;
llarp_config_iter(ctx->config, &iter);
*/
llarp::Info("Loading ", ptr->ctx->conatctFile);
llarp_rc *rc = llarp_rc_read(ptr->ctx->conatctFile);
return rc;
}
void llarp_main_checkOnline(void *u, uint64_t orig, uint64_t left) {
//llarp::Info("checkOnline - check ", left);
if(left)
return;
struct check_online_request *request = static_cast<struct check_online_request *>(u);
//llarp::Debug("checkOnline - running");
//llarp::Info("checkOnline - DHT nodes ", request->ptr->ctx->router->dht->impl.nodes->nodes.size());
request->online = false;
request->nodes = request->ptr->ctx->router->dht->impl.nodes->nodes.size();
if (request->ptr->ctx->router->dht->impl.nodes->nodes.size()) {
//llarp::Info("checkOnline - Going to say we're online");
request->online = true;
}
request->hook(request);
// reschedue our self
llarp_main_queryDHT(request);
}
void llarp_main_queryDHT_online(struct check_online_request *request) {
//Info("llarp_main_queryDHT_online: ", request->online ? "online" : "offline");
if (request->online && !request->first) {
request->first = true;
llarp::Info("llarp_main_queryDHT_online - We're online");
llarp::Info("llarp_main_queryDHT_online - Querying DHT");
llarp_dht_lookup_router(request->ptr->ctx->router->dht, request->job);
}
}
void llarp_main_queryDHT(struct llarp_main *ptr, llarp_router_lookup_job *job)
void llarp_main_queryDHT(struct check_online_request *request)
{
llarp_dht_lookup_router(ptr->ctx->router->dht, job);
//llarp::Info("llarp_main_queryDHT - setting up timer");
request->hook = &llarp_main_queryDHT_online;
llarp_logic_call_later(request->ptr->ctx->router->logic,
{1000, request, &llarp_main_checkOnline});
//llarp_dht_lookup_router(ptr->ctx->router->dht, job);
}
void

Loading…
Cancel
Save