request destination in netdb requests thread

This commit is contained in:
orignal 2024-05-22 13:43:00 -04:00
parent 927123188c
commit b75e418879
3 changed files with 27 additions and 8 deletions

View file

@ -405,7 +405,7 @@ namespace data
/* if(m_FloodfillBootstrap)
RequestDestinationFrom(router, m_FloodfillBootstrap->GetIdentHash(), true);
else */if (!IsRouterBanned (router))
netdb.RequestDestination (router);
RequestDestination (router, nullptr, true);
else
LogPrint (eLogDebug, "NetDbReq: Router ", peerHash, " is banned. Skipped");
}
@ -413,5 +413,26 @@ namespace data
LogPrint (eLogDebug, "NetDbReq: [:|||:]");
}
}
void NetDbRequests::PostRequestDestination (const IdentHash& destination,
const RequestedDestination::RequestComplete& requestComplete, bool direct)
{
GetIOService ().post ([this, destination, requestComplete, direct]()
{
RequestDestination (destination, requestComplete, direct);
});
}
void NetDbRequests::RequestDestination (const IdentHash& destination, const RequestedDestination::RequestComplete& requestComplete, bool direct)
{
auto dest = CreateRequest (destination, false, direct, requestComplete); // non-exploratory
if (dest)
{
if (!SendNextRequest (dest))
RequestComplete (destination, nullptr);
}
else
LogPrint (eLogWarning, "NetDbReq: Destination ", destination.ToBase64(), " is requested already or cached");
}
}
}