protected void findContacts() { DHTTransportContact[] reachables = dht.getTransport().getReachableContacts(); for (int i = 0; i < reachables.length; i++) { DHTTransportContact contact = reachables[i]; byte[] address = contact.getAddress().getAddress().getAddress(); if (tried_bloom == null || tried_bloom.getEntryCount() > 500) { tried_bloom = BloomFilterFactory.createAddOnly(4096); } if (!tried_bloom.contains(address)) { tried_bloom.add(address); synchronized (pending_contacts) { potentialPing ping = new potentialPing( contact, DHTNetworkPositionManager.estimateRTT( contact.getNetworkPositions(), dht.getTransport().getLocalContact().getNetworkPositions())); pending_contacts.add(0, ping); if (pending_contacts.size() > 60) { pending_contacts.removeLast(); } } } } }
public void createNetworkPositions(boolean is_local) { network_positions = DHTNetworkPositionManager.createPositions( id == null ? DHTUDPUtils.getBogusNodeID() : id, is_local); }