| 414 | } |
| 415 | |
| 416 | void PushAddress(const CAddress& addr) |
| 417 | { |
| 418 | // Known checking here is only to save space from duplicates. |
| 419 | // SendMessages will filter it again for knowns that were added |
| 420 | // after addresses were pushed. |
| 421 | if (addr.IsValid() && !addrKnown.contains(addr.GetKey())) { |
| 422 | if (vAddrToSend.size() >= MAX_ADDR_TO_SEND) { |
| 423 | vAddrToSend[insecure_rand() % vAddrToSend.size()] = addr; |
| 424 | } else { |
| 425 | vAddrToSend.push_back(addr); |
| 426 | } |
| 427 | } |
| 428 | } |
| 429 | |
| 430 | |
| 431 | bool AddInventoryKnown(const CInv& inv) |