| 111 | } |
| 112 | |
| 113 | void CAddrMan::Delete(int nId) |
| 114 | { |
| 115 | assert(mapInfo.count(nId) != 0); |
| 116 | CAddrInfo& info = mapInfo[nId]; |
| 117 | assert(!info.fInTried); |
| 118 | assert(info.nRefCount == 0); |
| 119 | |
| 120 | SwapRandom(info.nRandomPos, vRandom.size() - 1); |
| 121 | vRandom.pop_back(); |
| 122 | mapAddr.erase(info); |
| 123 | mapInfo.erase(nId); |
| 124 | nNew--; |
| 125 | } |
| 126 | |
| 127 | void CAddrMan::ClearNew(int nUBucket, int nUBucketPos) |
| 128 | { |