| 413 | } |
| 414 | |
| 415 | AddrInfo* AddrManImpl::Create(const CAddress& addr, const CNetAddr& addrSource, nid_type* pnId) |
| 416 | { |
| 417 | AssertLockHeld(cs); |
| 418 | |
| 419 | nid_type nId = nIdCount++; |
| 420 | mapInfo[nId] = AddrInfo(addr, addrSource); |
| 421 | mapAddr[addr] = nId; |
| 422 | mapInfo[nId].nRandomPos = vRandom.size(); |
| 423 | vRandom.push_back(nId); |
| 424 | if (pnId) |
| 425 | *pnId = nId; |
| 426 | return &mapInfo[nId]; |
| 427 | } |
| 428 | |
| 429 | void AddrManImpl::SwapRandom(unsigned int nRndPos1, unsigned int nRndPos2) const |
| 430 | { |