MCPcopy Create free account
hub / github.com/ElementsProject/elements / CreateAddresses

Function CreateAddresses

src/bench/addrman.cpp:25–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23static std::vector<std::vector<CAddress>> g_addresses;
24
25static void CreateAddresses()
26{
27 if (g_sources.size() > 0) { // already created
28 return;
29 }
30
31 FastRandomContext rng(uint256(std::vector<unsigned char>(32, 123)));
32
33 auto randAddr = [&rng]() {
34 in6_addr addr;
35 memcpy(&addr, rng.randbytes(sizeof(addr)).data(), sizeof(addr));
36
37 uint16_t port;
38 memcpy(&port, rng.randbytes(sizeof(port)).data(), sizeof(port));
39 if (port == 0) {
40 port = 1;
41 }
42
43 CAddress ret(CService(addr, port), NODE_NETWORK);
44
45 ret.nTime = GetAdjustedTime();
46
47 return ret;
48 };
49
50 for (size_t source_i = 0; source_i < NUM_SOURCES; ++source_i) {
51 g_sources.emplace_back(randAddr());
52 g_addresses.emplace_back();
53 for (size_t addr_i = 0; addr_i < NUM_ADDRESSES_PER_SOURCE; ++addr_i) {
54 g_addresses[source_i].emplace_back(randAddr());
55 }
56 }
57}
58
59static void AddAddressesToAddrMan(AddrMan& addrman)
60{

Callers 3

FillAddrManFunction · 0.85
AddrManAddFunction · 0.85
AddrManAddThenGoodFunction · 0.85

Calls 7

GetAdjustedTimeFunction · 0.85
randbytesMethod · 0.80
emplace_backMethod · 0.80
uint256Class · 0.50
CServiceClass · 0.50
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected