mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-11 07:09:29 +02:00
Merge bitcoin/bitcoin#26261: p2p: cleanup LookupIntern, Lookup and LookupHost
5c832c3820p2p, refactor: return `std::optional<CNetAddr>` in `LookupHost` (brunoerg)34bcdfc6a6p2p, refactor: return vector/optional<CService> in `Lookup` (brunoerg)7799eb125bp2p, refactor: return `std::vector<CNetAddr>` in `LookupHost` (brunoerg)5c1774a563p2p, refactor: return `std::vector<CNetAddr>` in `LookupIntern` (brunoerg) Pull request description: Continuation of #26078. To improve readability instead of returning a bool and passing stuff by reference, this PR changes: - `LookupHost` to return `std::vector<CNetAddr>` - `LookupHost` to return `std::optional<CNetAddr>` - `Lookup` to return `std::vector<CService>` - `Lookup` to return `std::optional<CService>`. - `LookupIntern` to return `std::vector<CNetAddr>` As discussed in #26078, it would be better to avoid using `optional` in some cases, but for specific `Lookup` and `LookupHost` functions it's necessary to use `optional` to verify if they were able to catch some data from their overloaded function. ACKs for top commit: achow101: ACK5c832c3820stickies-v: re-ACK5c832c3820- just addressing two nits, no other changes theStack: re-ACK5c832c3820Tree-SHA512: ea346fdc54463999646269bd600cd4a1590ef958001d2f0fc2be608ca51e1b4365efccca76dd4972b023e12fcc6e67d226608b0df7beb901bdeadd19948df840
This commit is contained in:
@@ -72,20 +72,6 @@ static void FillAddrMan(AddrMan& addrman)
|
||||
AddAddressesToAddrMan(addrman);
|
||||
}
|
||||
|
||||
static CNetAddr ResolveIP(const std::string& ip)
|
||||
{
|
||||
CNetAddr addr;
|
||||
LookupHost(ip, addr, false);
|
||||
return addr;
|
||||
}
|
||||
|
||||
static CService ResolveService(const std::string& ip, uint16_t port = 0)
|
||||
{
|
||||
CService serv;
|
||||
Lookup(ip, serv, port, false);
|
||||
return serv;
|
||||
}
|
||||
|
||||
/* Benchmarks */
|
||||
|
||||
static void AddrManAdd(benchmark::Bench& bench)
|
||||
@@ -118,8 +104,8 @@ static void AddrManSelectFromAlmostEmpty(benchmark::Bench& bench)
|
||||
AddrMan addrman{EMPTY_NETGROUPMAN, /*deterministic=*/false, ADDRMAN_CONSISTENCY_CHECK_RATIO};
|
||||
|
||||
// Add one address to the new table
|
||||
CService addr = ResolveService("250.3.1.1", 8333);
|
||||
addrman.Add({CAddress(addr, NODE_NONE)}, ResolveService("250.3.1.1", 8333));
|
||||
CService addr = Lookup("250.3.1.1", 8333, false).value();
|
||||
addrman.Add({CAddress(addr, NODE_NONE)}, addr);
|
||||
|
||||
bench.run([&] {
|
||||
(void)addrman.Select();
|
||||
@@ -135,7 +121,7 @@ static void AddrManSelectByNetwork(benchmark::Bench& bench)
|
||||
i2p_service.SetSpecial("udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna.b32.i2p");
|
||||
CAddress i2p_address(i2p_service, NODE_NONE);
|
||||
i2p_address.nTime = Now<NodeSeconds>();
|
||||
CNetAddr source = ResolveIP("252.2.2.2");
|
||||
const CNetAddr source{LookupHost("252.2.2.2", false).value()};
|
||||
addrman.Add({i2p_address}, source);
|
||||
|
||||
FillAddrMan(addrman);
|
||||
|
||||
Reference in New Issue
Block a user