propagate from branch 'i2p.i2p' (head cbfe85d22c4d0b05c901db3fa751b57889d9b2d6)

to branch 'i2p.i2p.str4d.cleanup' (head 94fe1764f50b459da18222434034ad46d604c7a1)
This commit is contained in:
str4d
2013-11-28 11:12:41 +00:00
22 changed files with 35 additions and 79 deletions

View File

@ -70,8 +70,7 @@ public class TCPtoI2P implements Runnable {
* @throws IOException * @throws IOException
*/ */
private static String lnRead(InputStream in) throws IOException { private static String lnRead(InputStream in) throws IOException {
String S = ""; StringBuilder builder = new StringBuilder();
StringBuilder builder = new StringBuilder();
int b; int b;
char c; char c;
@ -86,7 +85,7 @@ public class TCPtoI2P implements Runnable {
break; break;
} }
c = (char) (b & 0x7f); // We only care about ASCII c = (char) (b & 0x7f); // We only care about ASCII
builder.append(c); builder.append(c);
} }
return builder.toString(); return builder.toString();
} }

View File

@ -5,7 +5,6 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
@ -216,10 +215,8 @@ public class I2PSnarkUtil {
_log.debug("Connecting to I2P", new Exception("I did it")); _log.debug("Connecting to I2P", new Exception("I did it"));
Properties opts = _context.getProperties(); Properties opts = _context.getProperties();
if (_opts != null) { if (_opts != null) {
for (Iterator<String> iter = _opts.keySet().iterator(); iter.hasNext(); ) { for (Map.Entry<String, String> entry : _opts.entrySet() )
String key = iter.next(); opts.setProperty(entry.getKey(), entry.getValue());
opts.setProperty(key, _opts.get(key).toString());
}
} }
if (opts.getProperty("inbound.nickname") == null) if (opts.getProperty("inbound.nickname") == null)
opts.setProperty("inbound.nickname", _baseName.replace("i2psnark", "I2PSnark")); opts.setProperty("inbound.nickname", _baseName.replace("i2psnark", "I2PSnark"));

View File

@ -14,7 +14,6 @@ import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
@ -1687,8 +1686,7 @@ public class SnarkManager implements CompleteListener {
// Don't remove magnet torrents that don't have a torrent file yet // Don't remove magnet torrents that don't have a torrent file yet
existingNames.removeAll(_magnets); existingNames.removeAll(_magnets);
// now lets see which ones have been removed... // now lets see which ones have been removed...
for (Iterator<String> iter = existingNames.iterator(); iter.hasNext(); ) { for (String name : existingNames) {
String name = iter.next();
if (foundNames.contains(name)) { if (foundNames.contains(name)) {
// known and still there. noop // known and still there. noop
} else { } else {

View File

@ -204,7 +204,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
if (_log.shouldLog(Log.WARN)) if (_log.shouldLog(Log.WARN))
_log.warn("Refusing POST since peer is throttled: " + peerHash.toBase64()); _log.warn("Refusing POST since peer is throttled: " + peerHash.toBase64());
try { try {
// Send a 503, so the user doesn't get an HTTP Proxy error message // Send a 403, so the user doesn't get an HTTP Proxy error message
// and blame his router or the network. // and blame his router or the network.
socket.getOutputStream().write(ERR_DENIED); socket.getOutputStream().write(ERR_DENIED);
} catch (IOException ioe) {} } catch (IOException ioe) {}

View File

@ -7,7 +7,6 @@ import java.io.BufferedReader;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
import net.i2p.I2PAppContext; import net.i2p.I2PAppContext;
@ -137,10 +136,8 @@ public class I2Ping extends I2PTunnelTask implements Runnable {
reportTimes = false; reportTimes = false;
} }
br.close(); br.close();
for (Iterator<PingHandler> it = pingHandlers.iterator(); it.hasNext();) { for (Thread t : pingHandlers)
Thread t = (Thread) it.next();
t.join(); t.join();
}
return; return;
} else { } else {
Thread t = new PingHandler(cmd); Thread t = new PingHandler(cmd);

View File

@ -1,7 +1,6 @@
package net.i2p.router.web; package net.i2p.router.web;
import java.io.File; import java.io.File;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
@ -58,8 +57,7 @@ public class ConfigUIHelper extends HelperBase {
} }
// user themes // user themes
Set<String> props = _context.getPropertyNames(); Set<String> props = _context.getPropertyNames();
for (Iterator<String> iter = props.iterator(); iter.hasNext(); ) { for (String prop : props) {
String prop = iter.next();
if (prop.startsWith(PROP_THEME_PFX) && prop.length() > PROP_THEME_PFX.length()) if (prop.startsWith(PROP_THEME_PFX) && prop.length() > PROP_THEME_PFX.length())
rv.add(prop.substring(PROP_THEME_PFX.length())); rv.add(prop.substring(PROP_THEME_PFX.length()));
} }

View File

@ -4,7 +4,6 @@ import java.io.IOException;
import java.io.Writer; import java.io.Writer;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -144,8 +143,7 @@ public class GraphHelper extends FormHandler {
// go to some trouble to see if we have the data for the combined bw graph // go to some trouble to see if we have the data for the combined bw graph
boolean hasTx = false; boolean hasTx = false;
boolean hasRx = false; boolean hasRx = false;
for (Iterator<SummaryListener> iter = ordered.iterator(); iter.hasNext(); ) { for (SummaryListener lsnr : ordered) {
SummaryListener lsnr = iter.next();
String title = lsnr.getRate().getRateStat().getName(); String title = lsnr.getRate().getRateStat().getName();
if (title.equals("bw.sendRate")) hasTx = true; if (title.equals("bw.sendRate")) hasTx = true;
else if (title.equals("bw.recvRate")) hasRx = true; else if (title.equals("bw.recvRate")) hasRx = true;
@ -166,8 +164,7 @@ public class GraphHelper extends FormHandler {
+ "\" alt=\"" + title + "\" title=\"" + title + "\"></a>\n"); + "\" alt=\"" + title + "\" title=\"" + title + "\"></a>\n");
} }
for (Iterator<SummaryListener> iter = ordered.iterator(); iter.hasNext(); ) { for (SummaryListener lsnr : ordered) {
SummaryListener lsnr = iter.next();
Rate r = lsnr.getRate(); Rate r = lsnr.getRate();
// e.g. "statname for 60m" // e.g. "statname for 60m"
String title = _("{0} for {1}", r.getRateStat().getName(), DataHelper.formatDuration2(_periodCount * r.getPeriod())); String title = _("{0} for {1}", r.getRateStat().getName(), DataHelper.formatDuration2(_periodCount * r.getPeriod()));

View File

@ -609,7 +609,7 @@ class Connection {
_inputStream.streamErrorOccurred(ioe); _inputStream.streamErrorOccurred(ioe);
_connectionError = "Connection reset"; _connectionError = "Connection reset";
synchronized (_connectLock) { _connectLock.notifyAll(); } synchronized (_connectLock) { _connectLock.notifyAll(); }
// RFC 793 end of setion 3.4: We are completely done. // RFC 793 end of section 3.4: We are completely done.
disconnectComplete(); disconnectComplete();
} }

View File

@ -28,6 +28,7 @@ import java.io.InputStream;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.Hashtable; import java.util.Hashtable;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
@ -135,10 +136,10 @@ public class RequestWrapper {
String result = null; String result = null;
if( multiPartRequest != null ) { if( multiPartRequest != null ) {
Hashtable<String, String> params = multiPartRequest.getParams( partName ); Hashtable<String, String> params = multiPartRequest.getParams( partName );
for( Enumeration<String> e = params.keys(); e.hasMoreElements(); ) { for( Map.Entry<String, String> e : params.entrySet() ) {
String key = e.nextElement(); String key = e.getKey();
if( key.toLowerCase(Locale.US).compareToIgnoreCase( "content-type") == 0 ) { if( key.toLowerCase(Locale.US).compareToIgnoreCase( "content-type") == 0 ) {
String value = (String)params.get( key ); String value = e.getValue();
int i = value.indexOf( ";" ); int i = value.indexOf( ";" );
if( i != -1 ) if( i != -1 )
result = value.substring( 0, i ); result = value.substring( 0, i );

View File

@ -338,7 +338,7 @@ private static long bytesToLong(byte[] b) {
boolean first = true; boolean first = true;
for(Map.Entry<String, List<String>> entry: extensions.entrySet()) { for(Map.Entry<String, List<String>> entry: extensions.entrySet()) {
String key = entry.getKey(); String key = entry.getKey();
if(key.contains(":") || key.contains(";") || key.contains("=")) if(key.contains(":") || key.contains(";") || key.contains("="))
throw new IllegalArgumentException("Extension key contains an illegal character. " + key); throw new IllegalArgumentException("Extension key contains an illegal character. " + key);
if(!first) if(!first)

View File

@ -523,10 +523,8 @@ class I2PSessionImpl2 extends I2PSessionImpl {
if (_sendingStates == null) // only null if overridden by I2PSimpleSession if (_sendingStates == null) // only null if overridden by I2PSimpleSession
return; return;
synchronized (_sendingStates) { synchronized (_sendingStates) {
for (Iterator<MessageState> iter = _sendingStates.iterator(); iter.hasNext();) { for (MessageState state : _sendingStates)
MessageState state = iter.next();
state.cancel(); state.cancel();
}
if (_log.shouldLog(Log.INFO)) _log.info(getPrefix() + "Disconnecting " + _sendingStates.size() + " states"); if (_log.shouldLog(Log.INFO)) _log.info(getPrefix() + "Disconnecting " + _sendingStates.size() + " states");
_sendingStates.clear(); _sendingStates.clear();
} }

View File

@ -1,7 +1,6 @@
package net.i2p.client; package net.i2p.client;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
@ -150,8 +149,7 @@ class MessageState {
if (_log.shouldLog(Log.DEBUG)) if (_log.shouldLog(Log.DEBUG))
_log.debug(_prefix + "isSuccess(" + wantedStatus + "): " + _receivedStatus); _log.debug(_prefix + "isSuccess(" + wantedStatus + "): " + _receivedStatus);
for (Iterator<Integer> iter = _receivedStatus.iterator(); iter.hasNext();) { for (Integer val : _receivedStatus) {
Integer val = iter.next();
int recv = val.intValue(); int recv = val.intValue();
switch (recv) { switch (recv) {
case MessageStatusMessage.STATUS_SEND_BEST_EFFORT_FAILURE: case MessageStatusMessage.STATUS_SEND_BEST_EFFORT_FAILURE:
@ -210,8 +208,7 @@ class MessageState {
if (_log.shouldLog(Log.DEBUG)) if (_log.shouldLog(Log.DEBUG))
_log.debug(_prefix + "isFailure(" + wantedStatus + "): " + _receivedStatus); _log.debug(_prefix + "isFailure(" + wantedStatus + "): " + _receivedStatus);
for (Iterator<Integer> iter = _receivedStatus.iterator(); iter.hasNext();) { for (Integer val : _receivedStatus) {
Integer val = iter.next();
int recv = val.intValue(); int recv = val.intValue();
switch (recv) { switch (recv) {
case MessageStatusMessage.STATUS_SEND_BEST_EFFORT_FAILURE: case MessageStatusMessage.STATUS_SEND_BEST_EFFORT_FAILURE:

View File

@ -12,7 +12,6 @@ package net.i2p.crypto;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -656,8 +655,7 @@ public class ElGamalAESEngine {
int cur = prefixBytes; int cur = prefixBytes;
DataHelper.toLong(aesData, cur, 2, tagsForDelivery.size()); DataHelper.toLong(aesData, cur, 2, tagsForDelivery.size());
cur += 2; cur += 2;
for (Iterator<SessionTag> iter = tagsForDelivery.iterator(); iter.hasNext();) { for (SessionTag tag : tagsForDelivery) {
SessionTag tag = iter.next();
System.arraycopy(tag.getData(), 0, aesData, cur, SessionTag.BYTE_LENGTH); System.arraycopy(tag.getData(), 0, aesData, cur, SessionTag.BYTE_LENGTH);
cur += SessionTag.BYTE_LENGTH; cur += SessionTag.BYTE_LENGTH;
} }

View File

@ -266,7 +266,7 @@ public class KeyStoreUtil {
* @param keyPW the key password, must be at least 6 characters * @param keyPW the key password, must be at least 6 characters
* *
* @return success * @return success
* @since 0.8.3, consolidated from RouterConsoleRUnner and SSLClientListenerRunner in 0.9.9 * @since 0.8.3, consolidated from RouterConsoleRunner and SSLClientListenerRunner in 0.9.9
*/ */
public static boolean createKeys(File ks, String alias, String cname, String ou, public static boolean createKeys(File ks, String alias, String cname, String ou,
String keyPW) { String keyPW) {
@ -290,7 +290,7 @@ public class KeyStoreUtil {
* @param keyPW the key password, must be at least 6 characters * @param keyPW the key password, must be at least 6 characters
* *
* @return success * @return success
* @since 0.8.3, consolidated from RouterConsoleRUnner and SSLClientListenerRunner in 0.9.9 * @since 0.8.3, consolidated from RouterConsoleRunner and SSLClientListenerRunner in 0.9.9
*/ */
public static boolean createKeys(File ks, String ksPW, String alias, String cname, String ou, public static boolean createKeys(File ks, String ksPW, String alias, String cname, String ou,
int validDays, String keyAlg, int keySize, String keyPW) { int validDays, String keyAlg, int keySize, String keyPW) {

View File

@ -15,7 +15,6 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
import net.i2p.I2PAppContext; import net.i2p.I2PAppContext;
@ -290,10 +289,8 @@ public class LeaseSet extends DatabaseEntry {
_signingKey.writeBytes(out); _signingKey.writeBytes(out);
DataHelper.writeLong(out, 1, _leases.size()); DataHelper.writeLong(out, 1, _leases.size());
//DataHelper.writeLong(out, 4, _version); //DataHelper.writeLong(out, 4, _version);
for (Iterator<Lease> iter = _leases.iterator(); iter.hasNext();) { for (Lease lease : _leases)
Lease lease = iter.next();
lease.writeBytes(out); lease.writeBytes(out);
}
} catch (IOException ioe) { } catch (IOException ioe) {
return null; return null;
} catch (DataFormatException dfe) { } catch (DataFormatException dfe) {
@ -339,10 +336,8 @@ public class LeaseSet extends DatabaseEntry {
_signingKey.writeBytes(out); _signingKey.writeBytes(out);
DataHelper.writeLong(out, 1, _leases.size()); DataHelper.writeLong(out, 1, _leases.size());
//DataHelper.writeLong(out, 4, _version); //DataHelper.writeLong(out, 4, _version);
for (Iterator<Lease> iter = _leases.iterator(); iter.hasNext();) { for (Lease lease : _leases)
Lease lease = iter.next();
lease.writeBytes(out); lease.writeBytes(out);
}
_signature.writeBytes(out); _signature.writeBytes(out);
} }

View File

@ -10,7 +10,6 @@ package net.i2p.util;
*/ */
import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.CopyOnWriteArraySet;
@ -45,10 +44,8 @@ public class I2PAppThread extends I2PThread {
@Override @Override
protected void fireOOM(OutOfMemoryError oom) { protected void fireOOM(OutOfMemoryError oom) {
for (Iterator<OOMEventListener> iter = _threadListeners.iterator(); iter.hasNext(); ) { for (OOMEventListener listener : _threadListeners)
OOMEventListener listener = iter.next();
listener.outOfMemory(oom); listener.outOfMemory(oom);
}
} }
/** register a new component that wants notification of OOM events */ /** register a new component that wants notification of OOM events */

View File

@ -10,7 +10,6 @@ package net.i2p.util;
*/ */
import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.CopyOnWriteArraySet;
@ -112,10 +111,8 @@ public class I2PThread extends Thread {
****/ ****/
protected void fireOOM(OutOfMemoryError oom) { protected void fireOOM(OutOfMemoryError oom) {
for (Iterator<OOMEventListener> iter = _listeners.iterator(); iter.hasNext(); ) { for (OOMEventListener listener : _listeners)
OOMEventListener listener = iter.next();
listener.outOfMemory(oom); listener.outOfMemory(oom);
}
} }
/** register a new component that wants notification of OOM events */ /** register a new component that wants notification of OOM events */

View File

@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */ /** deprecated */
public final static String ID = "Monotone"; public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION; public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 34; public final static long BUILD = 35;
/** for example "-test" */ /** for example "-test" */
public final static String EXTRA = "-rc"; public final static String EXTRA = "-rc";

View File

@ -9,7 +9,6 @@ package net.i2p.router.networkdb.kademlia;
*/ */
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.Set; import java.util.Set;
import net.i2p.data.Hash; import net.i2p.data.Hash;
@ -62,8 +61,7 @@ class ExploreKeySelectorJob extends JobImpl {
KBucket bucket = _facade.getKBuckets().getBucket(i); KBucket bucket = _facade.getKBuckets().getBucket(i);
if (bucket.getKeyCount() < KBucketSet.BUCKET_SIZE) { if (bucket.getKeyCount() < KBucketSet.BUCKET_SIZE) {
boolean already = false; boolean already = false;
for (Iterator<Hash> iter = alreadyQueued.iterator(); iter.hasNext(); ) { for (Hash key : alreadyQueued) {
Hash key = iter.next();
if (bucket.shouldContain(key)) { if (bucket.shouldContain(key)) {
already = true; already = true;
_log.debug("Bucket " + i + " is already queued for exploration \t" + key); _log.debug("Bucket " + i + " is already queued for exploration \t" + key);

View File

@ -1,7 +1,6 @@
package net.i2p.router.networkdb.kademlia; package net.i2p.router.networkdb.kademlia;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -58,10 +57,8 @@ class HarvesterJob extends JobImpl {
public void runJob() { public void runJob() {
if (shouldHarvest()) { if (shouldHarvest()) {
List<Hash> peers = selectPeersToUpdate(); List<Hash> peers = selectPeersToUpdate();
for (int i = 0; i < peers.size(); i++) { for (Hash peer : peers)
Hash peer= peers.get(i);
harvest(peer); harvest(peer);
}
} }
requeue(REQUEUE_DELAY); requeue(REQUEUE_DELAY);
} }
@ -79,8 +76,7 @@ class HarvesterJob extends JobImpl {
Map<Long, Hash> routersByAge = new TreeMap<Long, Hash>(); Map<Long, Hash> routersByAge = new TreeMap<Long, Hash>();
Set<Hash> peers = _facade.getAllRouters(); Set<Hash> peers = _facade.getAllRouters();
long now = getContext().clock().now(); long now = getContext().clock().now();
for (Iterator<Hash> iter = peers.iterator(); iter.hasNext(); ) { for (Hash peer : peers) {
Hash peer = iter.next();
RouterInfo info = _facade.lookupRouterInfoLocally(peer); RouterInfo info = _facade.lookupRouterInfoLocally(peer);
if (info != null) { if (info != null) {
long when = info.getPublished(); long when = info.getPublished();
@ -96,8 +92,7 @@ class HarvesterJob extends JobImpl {
// ignoring peers that are new, so lets grab the oldest MAX_PER_RUN // ignoring peers that are new, so lets grab the oldest MAX_PER_RUN
// entries // entries
List<Hash> rv = new ArrayList<Hash>(); List<Hash> rv = new ArrayList<Hash>();
for (Iterator<Hash> iter = routersByAge.values().iterator(); iter.hasNext(); ) { for (Hash peer : routersByAge.values()) {
Hash peer = iter.next();
rv.add(peer); rv.add(peer);
if (rv.size() >= MAX_PER_RUN) if (rv.size() >= MAX_PER_RUN)
break; break;

View File

@ -10,7 +10,6 @@ package net.i2p.router.networkdb.kademlia;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -290,8 +289,7 @@ class SearchJob extends JobImpl {
return; return;
} else { } else {
attempted.addAll(closestHashes); attempted.addAll(closestHashes);
for (Iterator<Hash> iter = closestHashes.iterator(); iter.hasNext(); ) { for (Hash peer : closestHashes) {
Hash peer = iter.next();
DatabaseEntry ds = _facade.getDataStore().get(peer); DatabaseEntry ds = _facade.getDataStore().get(peer);
if (ds == null) { if (ds == null) {
if (_log.shouldLog(Log.INFO)) if (_log.shouldLog(Log.INFO))
@ -630,8 +628,7 @@ class SearchJob extends JobImpl {
Set<Hash> sendTo = _state.getRepliedPeers(); // _state.getFailed(); Set<Hash> sendTo = _state.getRepliedPeers(); // _state.getFailed();
sendTo.addAll(_state.getPending()); sendTo.addAll(_state.getPending());
int numSent = 0; int numSent = 0;
for (Iterator<Hash> iter = sendTo.iterator(); iter.hasNext(); ) { for (Hash peer : sendTo) {
Hash peer = iter.next();
RouterInfo peerInfo = _facade.lookupRouterInfoLocally(peer); RouterInfo peerInfo = _facade.lookupRouterInfoLocally(peer);
if (peerInfo == null) continue; if (peerInfo == null) continue;
if (resend(peerInfo, (LeaseSet)ds)) if (resend(peerInfo, (LeaseSet)ds))

View File

@ -1,7 +1,6 @@
package net.i2p.router.peermanager; package net.i2p.router.peermanager;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -73,8 +72,7 @@ public class PeerTestJob extends JobImpl {
if (_log.shouldLog(Log.DEBUG)) if (_log.shouldLog(Log.DEBUG))
_log.debug("Testing " + peers.size() + " peers"); _log.debug("Testing " + peers.size() + " peers");
for (Iterator<RouterInfo> iter = peers.iterator(); iter.hasNext(); ) { for (RouterInfo peer : peers) {
RouterInfo peer = iter.next();
if (_log.shouldLog(Log.DEBUG)) if (_log.shouldLog(Log.DEBUG))
_log.debug("Testing peer " + peer.getIdentity().getHash().toBase64()); _log.debug("Testing peer " + peer.getIdentity().getHash().toBase64());
testPeer(peer); testPeer(peer);
@ -98,8 +96,7 @@ public class PeerTestJob extends JobImpl {
_log.debug("Peer selection found " + peerHashes.size() + " peers"); _log.debug("Peer selection found " + peerHashes.size() + " peers");
Set<RouterInfo> peers = new HashSet<RouterInfo>(peerHashes.size()); Set<RouterInfo> peers = new HashSet<RouterInfo>(peerHashes.size());
for (Iterator<Hash> iter = peerHashes.iterator(); iter.hasNext(); ) { for (Hash peer : peerHashes) {
Hash peer = iter.next();
RouterInfo peerInfo = getContext().netDb().lookupRouterInfoLocally(peer); RouterInfo peerInfo = getContext().netDb().lookupRouterInfoLocally(peer);
if (peerInfo != null) { if (peerInfo != null) {
peers.add(peerInfo); peers.add(peerInfo);