Changeset View
Changeset View
Standalone View
Standalone View
src/net.cpp
| Show First 20 Lines • Show All 199 Lines • ▼ Show 20 Lines | |||||
| convertSeed6(const std::vector<SeedSpec6> &vSeedsIn) { | convertSeed6(const std::vector<SeedSpec6> &vSeedsIn) { | ||||
| // It'll only connect to one or two seed nodes because once it connects, | // It'll only connect to one or two seed nodes because once it connects, | ||||
| // it'll get a pile of addresses with newer timestamps. Seed nodes are given | // it'll get a pile of addresses with newer timestamps. Seed nodes are given | ||||
| // a random 'last seen time' of between one and two weeks ago. | // a random 'last seen time' of between one and two weeks ago. | ||||
| const auto one_week{7 * 24h}; | const auto one_week{7 * 24h}; | ||||
| std::vector<CAddress> vSeedsOut; | std::vector<CAddress> vSeedsOut; | ||||
| vSeedsOut.reserve(vSeedsIn.size()); | vSeedsOut.reserve(vSeedsIn.size()); | ||||
| FastRandomContext rng; | FastRandomContext rng; | ||||
| // TODO: apply core#25284 when backporting core#21560 | |||||
| for (const auto &seed_in : vSeedsIn) { | for (const auto &seed_in : vSeedsIn) { | ||||
| struct in6_addr ip; | struct in6_addr ip; | ||||
| memcpy(&ip, seed_in.addr, sizeof(ip)); | memcpy(&ip, seed_in.addr, sizeof(ip)); | ||||
| CAddress addr(CService(ip, seed_in.port), | CAddress addr(CService(ip, seed_in.port), | ||||
| GetDesirableServiceFlags(NODE_NONE)); | GetDesirableServiceFlags(NODE_NONE)); | ||||
| addr.nTime = | addr.nTime = | ||||
| rng.rand_uniform_delay(Now<NodeSeconds>() - one_week, -one_week); | rng.rand_uniform_delay(Now<NodeSeconds>() - one_week, -one_week); | ||||
| vSeedsOut.push_back(addr); | vSeedsOut.push_back(addr); | ||||
| ▲ Show 20 Lines • Show All 2,977 Lines • Show Last 20 Lines | |||||