MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / CreateAddresses

Function CreateAddresses

src/bench/addrman.cpp:33–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 3

FillAddrManFunction · 0.85
AddrManAddFunction · 0.85
AddrManAddThenGoodFunction · 0.85

Calls 6

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

Tested by

no test coverage detected