forked from I2P_Developers/i2p.i2p
Changes from -rc diff review
This commit is contained in:
@ -70,7 +70,6 @@ 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;
|
||||||
|
@ -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"));
|
||||||
|
@ -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 {
|
||||||
|
@ -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) {}
|
||||||
|
@ -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);
|
||||||
|
@ -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()));
|
||||||
}
|
}
|
||||||
|
@ -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()));
|
||||||
|
@ -610,7 +610,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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
@ -134,10 +135,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 );
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
@ -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:
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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) {
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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,11 +44,9 @@ 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 */
|
||||||
public void addOOMEventThreadListener(OOMEventListener lsnr) {
|
public void addOOMEventThreadListener(OOMEventListener lsnr) {
|
||||||
|
@ -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,11 +111,9 @@ 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 */
|
||||||
public static void addOOMEventListener(OOMEventListener lsnr) {
|
public static void addOOMEventListener(OOMEventListener lsnr) {
|
||||||
|
@ -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";
|
||||||
|
@ -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);
|
||||||
|
@ -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,11 +57,9 @@ 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;
|
||||||
|
@ -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))
|
||||||
|
@ -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);
|
||||||
|
Reference in New Issue
Block a user