diff --git a/apps/i2psnark/java/src/net/i2p/kademlia/KBucketImpl.java b/apps/i2psnark/java/src/net/i2p/kademlia/KBucketImpl.java index e99b51e840..e3c72c0925 100644 --- a/apps/i2psnark/java/src/net/i2p/kademlia/KBucketImpl.java +++ b/apps/i2psnark/java/src/net/i2p/kademlia/KBucketImpl.java @@ -53,7 +53,7 @@ class KBucketImpl implements KBucket { /** include if no bits higher than this bit (inclusive) are set */ private final int _end; private final int _max; - private final KBucketTrimmer _trimmer; + private final KBucketTrimmer _trimmer; /** when did we last shake things up */ private long _lastChanged; private final I2PAppContext _context; @@ -62,11 +62,11 @@ class KBucketImpl implements KBucket { * All entries in this bucket will have at least one bit different * from us in the range [begin, end] inclusive. */ - public KBucketImpl(I2PAppContext context, int begin, int end, int max, KBucketTrimmer trimmer) { + public KBucketImpl(I2PAppContext context, int begin, int end, int max, KBucketTrimmer trimmer) { if (begin > end) throw new IllegalArgumentException(begin + " > " + end); _context = context; - _entries = new ConcurrentHashSet(max + 4); + _entries = new ConcurrentHashSet(max + 4); _begin = begin; _end = end; _max = max; diff --git a/apps/i2psnark/java/src/net/i2p/kademlia/KBucketSet.java b/apps/i2psnark/java/src/net/i2p/kademlia/KBucketSet.java index b84cdc66cf..542e300268 100644 --- a/apps/i2psnark/java/src/net/i2p/kademlia/KBucketSet.java +++ b/apps/i2psnark/java/src/net/i2p/kademlia/KBucketSet.java @@ -50,9 +50,9 @@ public class KBucketSet { * * Closest values are in bucket 0, furthest are in the last bucket. */ - private final List _buckets; + private final List> _buckets; private final Range _rangeCalc; - private final KBucketTrimmer _trimmer; + private final KBucketTrimmer _trimmer; /** * Locked for reading only when traversing all the buckets. @@ -76,13 +76,13 @@ public class KBucketSet { * b > 0, use 1 for bittorrent, Kademlia paper recommends 5 */ public KBucketSet(I2PAppContext context, T us, int max, int b) { - this(context, us, max, b, new RandomTrimmer(context, max)); + this(context, us, max, b, new RandomTrimmer(context, max)); } /** * Use the supplied trim strategy. */ - public KBucketSet(I2PAppContext context, T us, int max, int b, KBucketTrimmer trimmer) { + public KBucketSet(I2PAppContext context, T us, int max, int b, KBucketTrimmer trimmer) { _us = us; _context = context; _log = context.logManager().getLog(KBucketSet.class); @@ -95,7 +95,7 @@ public class KBucketSet { NUM_BUCKETS = KEYSIZE_BITS * B_FACTOR; BUCKET_SIZE = max; _buckets = createBuckets(); - _rangeCalc = new Range(us, B_VALUE); + _rangeCalc = new Range(us, B_VALUE); // this verifies the zero-argument constructor makeKey(new byte[us.length()]); } @@ -137,7 +137,7 @@ public class KBucketSet { * */ public boolean add(T peer) { - KBucket bucket; + KBucket bucket; getReadLock(); try { bucket = getBucket(peer); @@ -170,7 +170,7 @@ public class KBucketSet { * FIXME will split the closest buckets too far if B > 1 and K < 2**B * Won't ever really happen and if it does it still works. */ - private boolean shouldSplit(KBucket b) { + private boolean shouldSplit(KBucket b) { return b.getRangeBegin() != b.getRangeEnd() && b.getKeyCount() > BUCKET_SIZE; @@ -263,7 +263,7 @@ public class KBucketSet { int rv = 0; getReadLock(); try { - for (KBucket b : _buckets) { + for (KBucket b : _buckets) { rv += b.getKeyCount(); } } finally { releaseReadLock(); } @@ -271,7 +271,7 @@ public class KBucketSet { } public boolean remove(T entry) { - KBucket kbucket; + KBucket kbucket; getReadLock(); try { kbucket = getBucket(entry); @@ -284,7 +284,7 @@ public class KBucketSet { public void clear() { getReadLock(); try { - for (KBucket b : _buckets) { + for (KBucket b : _buckets) { b.clear(); } } finally { releaseReadLock(); } @@ -295,10 +295,10 @@ public class KBucketSet { * @return a copy in a new set */ public Set getAll() { - Set all = new HashSet(256); + Set all = new HashSet(256); getReadLock(); try { - for (KBucket b : _buckets) { + for (KBucket b : _buckets) { all.addAll(b.getEntries()); } } finally { releaseReadLock(); } @@ -317,7 +317,7 @@ public class KBucketSet { public void getAll(SelectionCollector collector) { getReadLock(); try { - for (KBucket b : _buckets) { + for (KBucket b : _buckets) { b.getEntries(collector); } } finally { releaseReadLock(); } @@ -329,7 +329,7 @@ public class KBucketSet { * @return non-null, closest first */ public List getClosest(int max) { - return getClosest(max, Collections.EMPTY_SET); + return getClosest(max, Collections. emptySet()); } /** @@ -338,7 +338,7 @@ public class KBucketSet { * @return non-null, closest first */ public List getClosest(int max, Collection toIgnore) { - List rv = new ArrayList(max); + List rv = new ArrayList(max); int count = 0; getReadLock(); try { @@ -355,7 +355,7 @@ public class KBucketSet { } } } finally { releaseReadLock(); } - Comparator comp = new XORComparator(_us); + Comparator comp = new XORComparator(_us); Collections.sort(rv, comp); int sz = rv.size(); for (int i = sz - 1; i >= max; i--) { @@ -370,7 +370,7 @@ public class KBucketSet { * @return non-null, closest first */ public List getClosest(T key, int max) { - return getClosest(key, max, Collections.EMPTY_SET); + return getClosest(key, max, Collections. emptySet()); } /** @@ -381,7 +381,7 @@ public class KBucketSet { public List getClosest(T key, int max, Collection toIgnore) { if (key.equals(_us)) return getClosest(max, toIgnore); - List rv = new ArrayList(max); + List rv = new ArrayList(max); int count = 0; getReadLock(); try { @@ -407,7 +407,7 @@ public class KBucketSet { } } } finally { releaseReadLock(); } - Comparator comp = new XORComparator(key); + Comparator comp = new XORComparator(key); Collections.sort(rv, comp); int sz = rv.size(); for (int i = sz - 1; i >= max; i--) { @@ -452,7 +452,7 @@ public class KBucketSet { List> getBuckets() { getReadLock(); try { - return new ArrayList(_buckets); + return new ArrayList>(_buckets); } finally { releaseReadLock(); } } @@ -461,7 +461,7 @@ public class KBucketSet { * Caller must hold read lock * @return null if key is us */ - private KBucket getBucket(T key) { + private KBucket getBucket(T key) { int bucket = pickBucket(key); if (bucket < 0) return null; @@ -480,30 +480,30 @@ public class KBucketSet { // of equal size to be checked so a binary search is better if (B_VALUE <= 3) { for (int i = _buckets.size() - 1; i >= 0; i--) { - KBucket b = _buckets.get(i); + KBucket b = _buckets.get(i); if (range >= b.getRangeBegin() && range <= b.getRangeEnd()) return i; } return -1; } else { - KBucket dummy = new DummyBucket(range); - return Collections.binarySearch(_buckets, dummy, new BucketComparator()); + KBucket dummy = new DummyBucket(range); + return Collections.binarySearch(_buckets, dummy, new BucketComparator()); } } - private List createBuckets() { + private List> createBuckets() { // just an initial size - List buckets = new ArrayList(4 * B_FACTOR); + List> buckets = new ArrayList>(4 * B_FACTOR); buckets.add(createBucket(0, NUM_BUCKETS -1)); return buckets; } - private KBucket createBucket(int start, int end) { + private KBucket createBucket(int start, int end) { if (end - start >= B_FACTOR && (((end + 1) & B_FACTOR - 1) != 0 || (start & B_FACTOR - 1) != 0)) throw new IllegalArgumentException("Sub-bkt crosses K-bkt boundary: " + start + '-' + end); - KBucket bucket = new KBucketImpl(_context, start, end, BUCKET_SIZE, _trimmer); + KBucket bucket = new KBucketImpl(_context, start, end, BUCKET_SIZE, _trimmer); return bucket; } @@ -524,11 +524,11 @@ public class KBucketSet { * @return non-null, closest first */ public List getExploreKeys(long age) { - List rv = new ArrayList(_buckets.size()); + List rv = new ArrayList(_buckets.size()); long old = _context.clock().now() - age; getReadLock(); try { - for (KBucket b : _buckets) { + for (KBucket b : _buckets) { int curSize = b.getKeyCount(); // Always explore the closest bucket if ((b.getRangeBegin() == 0) || @@ -543,7 +543,7 @@ public class KBucketSet { * Generate a random key to go within this bucket * Package private for testing only. Others shouldn't need this. */ - T generateRandomKey(KBucket bucket) { + T generateRandomKey(KBucket bucket) { int begin = bucket.getRangeBegin(); int end = bucket.getRangeEnd(); // number of fixed bits, out of B_VALUE - 1 bits @@ -662,7 +662,7 @@ public class KBucketSet { public Range(T us, int bValue) { _bValue = bValue; _bigUs = new BigInteger(1, us.getData()); - _distanceCache = new LHMCache(256); + _distanceCache = new LHMCache(256); } /** @return 0 to max-1 or -1 for us */ @@ -748,8 +748,8 @@ public class KBucketSet { * For Collections.binarySearch. * Returns equal for any overlap. */ - private static class BucketComparator implements Comparator { - public int compare(KBucket l, KBucket r) { + private static class BucketComparator implements Comparator> { + public int compare(KBucket l, KBucket r) { if (l.getRangeEnd() < r.getRangeBegin()) return -1; if (l.getRangeBegin() > r.getRangeEnd()) @@ -770,7 +770,7 @@ public class KBucketSet { try { int len = _buckets.size(); for (int i = 0; i < len; i++) { - KBucket b = _buckets.get(i); + KBucket b = _buckets.get(i); buf.append("* Bucket ").append(i).append("/").append(len).append(": "); buf.append(b.toString()).append("\n"); } diff --git a/apps/i2psnark/java/src/net/i2p/kademlia/RandomTrimmer.java b/apps/i2psnark/java/src/net/i2p/kademlia/RandomTrimmer.java index b0a802072b..c1efff2624 100644 --- a/apps/i2psnark/java/src/net/i2p/kademlia/RandomTrimmer.java +++ b/apps/i2psnark/java/src/net/i2p/kademlia/RandomTrimmer.java @@ -20,7 +20,7 @@ public class RandomTrimmer implements KBucketTrim } public boolean trim(KBucket kbucket, T toAdd) { - List e = new ArrayList(kbucket.getEntries()); + List e = new ArrayList(kbucket.getEntries()); int sz = e.size(); // concurrency if (sz < _max) diff --git a/apps/i2psnark/java/src/org/klomp/snark/BWLimits.java b/apps/i2psnark/java/src/org/klomp/snark/BWLimits.java index b5f7f189bf..d454473804 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/BWLimits.java +++ b/apps/i2psnark/java/src/org/klomp/snark/BWLimits.java @@ -4,7 +4,6 @@ */ package org.klomp.snark; -import java.util.Arrays; import java.util.Properties; import net.i2p.client.I2PSessionException; diff --git a/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java b/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java index 29e6e80756..78d487d2bd 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java +++ b/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java @@ -45,7 +45,7 @@ class ConnectionAcceptor implements Runnable private PeerAcceptor peeracceptor; private Thread thread; private final I2PSnarkUtil _util; - private final ObjectCounter _badCounter = new ObjectCounter(); + private final ObjectCounter _badCounter = new ObjectCounter(); private final SimpleTimer2.TimedEvent _cleaner; private volatile boolean stop; diff --git a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java index 6c35dbe3ac..abb08473ca 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java +++ b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java @@ -43,8 +43,8 @@ abstract class ExtensionHandler { * @return bencoded outgoing handshake message */ public static byte[] getHandshake(int metasize, boolean pexAndMetadata, boolean dht) { - Map handshake = new HashMap(); - Map m = new HashMap(); + Map handshake = new HashMap(); + Map m = new HashMap(); if (pexAndMetadata) { m.put(TYPE_METADATA, Integer.valueOf(ID_METADATA)); m.put(TYPE_PEX, Integer.valueOf(ID_PEX)); @@ -276,7 +276,7 @@ abstract class ExtensionHandler { /** REQUEST and REJECT are the same except for message type */ private static void sendMessage(Peer peer, int type, int piece) { - Map map = new HashMap(); + Map map = new HashMap(); map.put("msg_type", Integer.valueOf(type)); map.put("piece", Integer.valueOf(piece)); byte[] payload = BEncoder.bencode(map); @@ -291,7 +291,7 @@ abstract class ExtensionHandler { } private static void sendPiece(Peer peer, int piece, byte[] data) { - Map map = new HashMap(); + Map map = new HashMap(); map.put("msg_type", Integer.valueOf(TYPE_DATA)); map.put("piece", Integer.valueOf(piece)); map.put("total_size", Integer.valueOf(data.length)); @@ -334,7 +334,7 @@ abstract class ExtensionHandler { if (ids.length < HASH_LENGTH) return; int len = Math.min(ids.length, (I2PSnarkUtil.MAX_CONNECTIONS - 1) * HASH_LENGTH); - List peers = new ArrayList(len / HASH_LENGTH); + List peers = new ArrayList(len / HASH_LENGTH); for (int off = 0; off < len; off += HASH_LENGTH) { byte[] hash = new byte[HASH_LENGTH]; System.arraycopy(ids, off, hash, 0, HASH_LENGTH); @@ -382,7 +382,7 @@ abstract class ExtensionHandler { public static void sendPEX(Peer peer, List pList) { if (pList.isEmpty()) return; - Map map = new HashMap(); + Map map = new HashMap(); byte[] peers = new byte[HASH_LENGTH * pList.size()]; int off = 0; for (Peer p : pList) { @@ -406,7 +406,7 @@ abstract class ExtensionHandler { * @since DHT */ public static void sendDHT(Peer peer, int qport, int rport) { - Map map = new HashMap(); + Map map = new HashMap(); map.put("port", Integer.valueOf(qport)); map.put("rport", Integer.valueOf(rport)); byte[] payload = BEncoder.bencode(map); diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index 6f5401c544..8edf0cc6a3 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -3,7 +3,6 @@ package org.klomp.snark; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; @@ -11,8 +10,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.StringTokenizer; - import net.i2p.I2PAppContext; import net.i2p.I2PException; import net.i2p.client.I2PSession; @@ -33,7 +30,6 @@ import net.i2p.util.FileUtil; import net.i2p.util.Log; import net.i2p.util.SecureDirectory; import net.i2p.util.SecureFile; -import net.i2p.util.SimpleScheduler; import net.i2p.util.SimpleTimer; import net.i2p.util.Translate; @@ -94,10 +90,10 @@ public class I2PSnarkUtil { _context = ctx; _log = _context.logManager().getLog(Snark.class); _baseName = baseName; - _opts = new HashMap(); + _opts = new HashMap(); //setProxy("127.0.0.1", 4444); setI2CPConfig("127.0.0.1", 7654, null); - _banlist = new ConcurrentHashSet(); + _banlist = new ConcurrentHashSet(); _maxUploaders = Snark.MAX_TOTAL_UPLOADERS; _maxUpBW = DEFAULT_MAX_UP_BW; _maxConnections = MAX_CONNECTIONS; @@ -220,8 +216,8 @@ public class I2PSnarkUtil { _log.debug("Connecting to I2P", new Exception("I did it")); Properties opts = _context.getProperties(); if (_opts != null) { - for (Iterator iter = _opts.keySet().iterator(); iter.hasNext(); ) { - String key = (String)iter.next(); + for (Iterator iter = _opts.keySet().iterator(); iter.hasNext(); ) { + String key = iter.next(); opts.setProperty(key, _opts.get(key).toString()); } } @@ -577,7 +573,7 @@ public class I2PSnarkUtil { */ public List getOpenTrackers() { if (!shouldUseOpenTrackers()) - return Collections.EMPTY_LIST; + return Collections.emptyList(); return _openTrackers; } diff --git a/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java b/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java index c33dc4dffe..03b1ed27f6 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java +++ b/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java @@ -6,7 +6,6 @@ import java.io.InputStream; import java.util.HashMap; import java.util.Map; -import net.i2p.I2PAppContext; import net.i2p.data.DataHelper; import net.i2p.util.RandomSource; @@ -190,7 +189,7 @@ class MagnetState { */ public MetaInfo buildMetaInfo() throws Exception { // top map has nothing in it but the info map (no announce) - Map map = new HashMap(); + Map map = new HashMap(); InputStream is = new ByteArrayInputStream(metainfoBytes); BDecoder dec = new BDecoder(is); BEValue bev = dec.bdecodeMap(); diff --git a/apps/i2psnark/java/src/org/klomp/snark/MagnetURI.java b/apps/i2psnark/java/src/org/klomp/snark/MagnetURI.java index a7fbcd9e56..9044d62ff6 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/MagnetURI.java +++ b/apps/i2psnark/java/src/org/klomp/snark/MagnetURI.java @@ -133,7 +133,7 @@ public class MagnetURI { } if (idx < 0 || idx > uri.length()) return null; - List rv = new ArrayList(); + List rv = new ArrayList(); while (true) { String p = uri.substring(idx); uri = p; diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerAcceptor.java b/apps/i2psnark/java/src/org/klomp/snark/PeerAcceptor.java index 19238cb7c1..b897739300 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerAcceptor.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerAcceptor.java @@ -26,8 +26,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.SequenceInputStream; -import java.util.Iterator; - import net.i2p.I2PAppContext; import net.i2p.client.streaming.I2PSocket; import net.i2p.data.Base64; diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java index 2bb9feb5f5..d9c9738e7f 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java @@ -24,7 +24,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import net.i2p.I2PAppContext; import net.i2p.data.DataHelper; import net.i2p.util.Log; @@ -73,7 +72,7 @@ class PeerCheckerTask implements Runnable // Keep track of peers we remove now, // we will add them back to the end of the list. - List removed = new ArrayList(); + List removed = new ArrayList(); int uploadLimit = coordinator.allowedUploaders(); boolean overBWLimit = coordinator.overUpBWLimit(); DHT dht = _util.getDHT(); diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java index a01ea8e18a..628a8c438d 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java @@ -43,7 +43,7 @@ class PeerConnectionOut implements Runnable private boolean quit; // Contains Messages. - private final List sendQueue = new ArrayList(); + private final List sendQueue = new ArrayList(); private static final AtomicLong __id = new AtomicLong(); private final long _id; @@ -116,10 +116,10 @@ class PeerConnectionOut implements Runnable // And remove piece messages if we are choking. // this should get fixed for starvation - Iterator it = sendQueue.iterator(); + Iterator it = sendQueue.iterator(); while (m == null && it.hasNext()) { - Message nm = (Message)it.next(); + Message nm = it.next(); if (nm.type == Message.PIECE) { if (state.choking) { @@ -274,10 +274,10 @@ class PeerConnectionOut implements Runnable boolean removed = false; synchronized(sendQueue) { - Iterator it = sendQueue.iterator(); + Iterator it = sendQueue.iterator(); while (it.hasNext()) { - Message m = (Message)it.next(); + Message m = it.next(); if (m.type == type) { it.remove(); @@ -360,13 +360,13 @@ class PeerConnectionOut implements Runnable /** reransmit requests not received in 7m */ private static final int REQ_TIMEOUT = (2 * SEND_TIMEOUT) + (60 * 1000); - void retransmitRequests(List requests) + void retransmitRequests(List requests) { long now = System.currentTimeMillis(); - Iterator it = requests.iterator(); + Iterator it = requests.iterator(); while (it.hasNext()) { - Request req = (Request)it.next(); + Request req = it.next(); if(now > req.sendTime + REQ_TIMEOUT) { if (_log.shouldLog(Log.DEBUG)) _log.debug("Retransmit request " + req + " to peer " + peer); @@ -375,12 +375,12 @@ class PeerConnectionOut implements Runnable } } - void sendRequests(List requests) + void sendRequests(List requests) { - Iterator it = requests.iterator(); + Iterator it = requests.iterator(); while (it.hasNext()) { - Request req = (Request)it.next(); + Request req = it.next(); sendRequest(req); } } @@ -391,10 +391,10 @@ class PeerConnectionOut implements Runnable // (multiple choke/unchokes received cause duplicate requests in the queue) synchronized(sendQueue) { - Iterator it = sendQueue.iterator(); + Iterator it = sendQueue.iterator(); while (it.hasNext()) { - Message m = (Message)it.next(); + Message m = it.next(); if (m.type == Message.REQUEST && m.piece == req.getPiece() && m.begin == req.off && m.length == req.len) { @@ -419,10 +419,10 @@ class PeerConnectionOut implements Runnable int total = 0; synchronized(sendQueue) { - Iterator it = sendQueue.iterator(); + Iterator it = sendQueue.iterator(); while (it.hasNext()) { - Message m = (Message)it.next(); + Message m = it.next(); if (m.type == Message.PIECE) total += m.length; } @@ -489,10 +489,10 @@ class PeerConnectionOut implements Runnable // See if it is still in our send queue synchronized(sendQueue) { - Iterator it = sendQueue.iterator(); + Iterator it = sendQueue.iterator(); while (it.hasNext()) { - Message m = (Message)it.next(); + Message m = it.next(); if (m.type == Message.REQUEST && m.piece == req.getPiece() && m.begin == req.off @@ -530,10 +530,10 @@ class PeerConnectionOut implements Runnable { synchronized (sendQueue) { - Iterator it = sendQueue.iterator(); + Iterator it = sendQueue.iterator(); while (it.hasNext()) { - Message m = (Message)it.next(); + Message m = it.next(); if (m.type == Message.PIECE && m.piece == piece && m.begin == begin diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java index 66143a5560..c43651610d 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java @@ -151,12 +151,12 @@ class PeerCoordinator implements PeerListener this.listener = listener; this.snark = torrent; - wantedPieces = new ArrayList(); + wantedPieces = new ArrayList(); setWantedPieces(); - partialPieces = new ArrayList(getMaxConnections() + 1); - peers = new LinkedBlockingQueue(); + partialPieces = new ArrayList(getMaxConnections() + 1); + peers = new LinkedBlockingQueue(); magnetState = new MagnetState(infohash, metainfo); - pexPeers = new ConcurrentHashSet(); + pexPeers = new ConcurrentHashSet(); // Install a timer to check the uploaders. // Randomize the first start time so multiple tasks are spread out, @@ -218,7 +218,7 @@ class PeerCoordinator implements PeerListener /** for web page detailed stats */ public List peerList() { - return new ArrayList(peers); + return new ArrayList(peers); } public byte[] getID() @@ -412,7 +412,7 @@ class PeerCoordinator implements PeerListener public void halt() { halted = true; - List removed = new ArrayList(); + List removed = new ArrayList(); synchronized(peers) { // Stop peer checker task. @@ -613,7 +613,7 @@ class PeerCoordinator implements PeerListener // linked list will contain all interested peers that we choke. // At the start are the peers that have us unchoked at the end the // other peer that are interested, but are choking us. - List interested = new LinkedList(); + List interested = new LinkedList(); int count = 0; int unchokedCount = 0; int maxUploaders = allowedUploaders(); @@ -729,7 +729,7 @@ class PeerCoordinator implements PeerListener } Piece piece = null; - List requested = new ArrayList(); + List requested = new ArrayList(); int wantedSize = END_GAME_THRESHOLD + 1; synchronized(wantedPieces) { @@ -833,7 +833,7 @@ class PeerCoordinator implements PeerListener _log.debug("Updated piece priorities called but no priorities to set?"); return; } - List toCancel = new ArrayList(); + List toCancel = new ArrayList(); synchronized(wantedPieces) { // Add incomplete and previously unwanted pieces to the list // Temp to avoid O(n**2) @@ -1019,7 +1019,7 @@ class PeerCoordinator implements PeerListener // Announce to the world we have it! // Disconnect from other seeders when we get the last piece - List toDisconnect = done ? new ArrayList() : null; + List toDisconnect = done ? new ArrayList() : null; for (Peer p : peers) { if (p.isConnected()) { diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinatorSet.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinatorSet.java index 7c4e58d720..9ffe441d93 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinatorSet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinatorSet.java @@ -16,7 +16,7 @@ class PeerCoordinatorSet implements Iterable { private final Map _coordinators; public PeerCoordinatorSet() { - _coordinators = new ConcurrentHashMap(); + _coordinators = new ConcurrentHashMap(); } public Iterator iterator() { diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerID.java b/apps/i2psnark/java/src/org/klomp/snark/PeerID.java index a5f0f65745..cac80c8261 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerID.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerID.java @@ -24,7 +24,6 @@ import java.io.IOException; import java.net.UnknownHostException; import java.util.Map; -import net.i2p.I2PAppContext; import net.i2p.data.Base32; import net.i2p.data.Base64; import net.i2p.data.DataHelper; diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java index 305d6ee311..35008394e8 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java @@ -56,7 +56,7 @@ class PeerState implements DataLoader final PeerConnectionOut out; // Outstanding request - private final List outstandingRequests = new ArrayList(); + private final List outstandingRequests = new ArrayList(); /** the tail (NOT the head) of the request queue */ private Request lastRequest = null; @@ -451,7 +451,7 @@ class PeerState implements DataLoader synchronized List returnPartialPieces() { Set pcs = getRequestedPieces(); - List rv = new ArrayList(pcs.size()); + List rv = new ArrayList(pcs.size()); for (Integer p : pcs) { Request req = getLowestOutstandingRequest(p.intValue()); if (req != null) { @@ -469,7 +469,7 @@ class PeerState implements DataLoader * @return all pieces we are currently requesting, or empty Set */ synchronized private Set getRequestedPieces() { - Set rv = new HashSet(outstandingRequests.size() + 1); + Set rv = new HashSet(outstandingRequests.size() + 1); for (Request req : outstandingRequests) { rv.add(Integer.valueOf(req.getPiece())); if (pendingRequest != null) diff --git a/apps/i2psnark/java/src/org/klomp/snark/Piece.java b/apps/i2psnark/java/src/org/klomp/snark/Piece.java index 9a2e2e0e75..582505bc47 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Piece.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Piece.java @@ -18,7 +18,7 @@ class Piece implements Comparable { public Piece(int id) { this.id = id; - this.peers = new HashSet(I2PSnarkUtil.MAX_CONNECTIONS / 2); + this.peers = new HashSet(I2PSnarkUtil.MAX_CONNECTIONS / 2); // defer creating requests to save memory } @@ -82,7 +82,7 @@ class Piece implements Comparable { public void setRequested(Peer peer, boolean requested) { if (requested) { if (this.requests == null) - this.requests = new HashSet(2); + this.requests = new HashSet(2); this.requests.add(peer.getPeerID()); } else { if (this.requests != null) diff --git a/apps/i2psnark/java/src/org/klomp/snark/Snark.java b/apps/i2psnark/java/src/org/klomp/snark/Snark.java index ccb9226897..98b191dea9 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Snark.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Snark.java @@ -25,7 +25,6 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Properties; import java.util.Random; @@ -34,7 +33,6 @@ import java.util.StringTokenizer; import net.i2p.I2PAppContext; import net.i2p.client.streaming.I2PServerSocket; import net.i2p.data.Destination; -import net.i2p.util.I2PThread; import net.i2p.util.Log; /** @@ -762,7 +760,7 @@ public class Snark PeerCoordinator coord = coordinator; if (coord != null) return coord.peerList(); - return Collections.EMPTY_LIST; + return Collections.emptyList(); } /** diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 51d439eb5a..c245c97a0b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -35,7 +35,6 @@ import net.i2p.util.Log; import net.i2p.util.OrderedProperties; import net.i2p.util.SecureDirectory; import net.i2p.util.SecureFileOutputStream; -import net.i2p.util.SimpleScheduler; import net.i2p.util.SimpleTimer; import net.i2p.util.SimpleTimer2; @@ -148,20 +147,20 @@ public class SnarkManager implements CompleteListener { * @since 0.9.6 */ public SnarkManager(I2PAppContext ctx, String ctxPath, String ctxName) { - _snarks = new ConcurrentHashMap(); - _magnets = new ConcurrentHashSet(); + _snarks = new ConcurrentHashMap(); + _magnets = new ConcurrentHashSet(); _addSnarkLock = new Object(); _context = ctx; _contextPath = ctxPath; _contextName = ctxName; _log = _context.logManager().getLog(SnarkManager.class); - _messages = new LinkedBlockingQueue(); + _messages = new LinkedBlockingQueue(); _util = new I2PSnarkUtil(_context, ctxName); String cfile = ctxName + CONFIG_FILE_SUFFIX; _configFile = new File(cfile); if (!_configFile.isAbsolute()) _configFile = new File(_context.getConfigDir(), cfile); - _trackerMap = new ConcurrentHashMap(4); + _trackerMap = new ConcurrentHashMap(4); loadConfig(null); } @@ -240,8 +239,8 @@ public class SnarkManager implements CompleteListener { /** newest last */ public List getMessages() { if (_messages.isEmpty()) - return Collections.EMPTY_LIST; - return new ArrayList(_messages); + return Collections.emptyList(); + return new ArrayList(_messages); } /** @since 0.9 */ @@ -595,7 +594,7 @@ public class SnarkManager implements CompleteListener { try { port = Integer.parseInt(i2cpPort); } catch (NumberFormatException nfe) {} } - Map opts = new HashMap(); + Map opts = new HashMap(); if (i2cpOpts == null) i2cpOpts = ""; StringTokenizer tok = new StringTokenizer(i2cpOpts, " \t\n"); while (tok.hasMoreTokens()) { @@ -604,7 +603,7 @@ public class SnarkManager implements CompleteListener { if (split > 0) opts.put(pair.substring(0, split), pair.substring(split+1)); } - Map oldOpts = new HashMap(); + Map oldOpts = new HashMap(); String oldI2CPOpts = _config.getProperty(PROP_I2CP_OPTS); if (oldI2CPOpts == null) oldI2CPOpts = ""; tok = new StringTokenizer(oldI2CPOpts, " \t\n"); @@ -737,7 +736,7 @@ public class SnarkManager implements CompleteListener { */ private List getOpenTrackers() { if (!_util.shouldUseOpenTrackers()) - return Collections.EMPTY_LIST; + return Collections.emptyList(); return getListConfig(PROP_OPENTRACKERS, I2PSnarkUtil.DEFAULT_OPENTRACKERS); } @@ -782,7 +781,7 @@ public class SnarkManager implements CompleteListener { if (val == null) val = dflt; if (val == null) - return Collections.EMPTY_LIST; + return Collections.emptyList(); return Arrays.asList(val.split(",")); } @@ -833,7 +832,7 @@ public class SnarkManager implements CompleteListener { * An unsynchronized copy. */ public Set listTorrentFiles() { - return new HashSet(_snarks.keySet()); + return new HashSet(_snarks.keySet()); } /** @@ -1386,7 +1385,7 @@ public class SnarkManager implements CompleteListener { * @return failure message or null on success */ private String validateTorrent(MetaInfo info) { - List files = info.getFiles(); + List> files = info.getFiles(); if ( (files != null) && (files.size() > MAX_FILES_PER_TORRENT) ) { return _("Too many files in \"{0}\" ({1}), deleting it!", info.getName(), files.size()); } else if ( (files == null) && (info.getName().endsWith(".torrent")) ) { @@ -1402,7 +1401,7 @@ public class SnarkManager implements CompleteListener { return _("Torrent \"{0}\" has no data, deleting it!", info.getName()); } else if (info.getTotalLength() > Storage.MAX_TOTAL_SIZE) { System.out.println("torrent info: " + info.toString()); - List lengths = info.getLengths(); + List lengths = info.getLengths(); if (lengths != null) for (int i = 0; i < lengths.size(); i++) System.out.println("File " + i + " is " + lengths.get(i) + " long."); @@ -1688,8 +1687,8 @@ public class SnarkManager implements CompleteListener { // Don't remove magnet torrents that don't have a torrent file yet existingNames.removeAll(_magnets); // now lets see which ones have been removed... - for (Iterator iter = existingNames.iterator(); iter.hasNext(); ) { - String name = (String)iter.next(); + for (Iterator iter = existingNames.iterator(); iter.hasNext(); ) { + String name = iter.next(); if (foundNames.contains(name)) { // known and still there. noop } else { diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java index 6b786054fc..8b2b5a39b9 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java @@ -75,7 +75,7 @@ public class Storage public static final int MAX_PIECES = 10*1024; public static final long MAX_TOTAL_SIZE = MAX_PIECE_SIZE * (long) MAX_PIECES; - private static final Map _filterNameCache = new ConcurrentHashMap(); + private static final Map _filterNameCache = new ConcurrentHashMap(); private static final boolean _isWindows = SystemVersion.isWindows(); @@ -101,7 +101,7 @@ public class Storage total_length = metainfo.getTotalLength(); List> files = metainfo.getFiles(); int sz = files != null ? files.size() : 1; - _torrentFiles = new ArrayList(sz); + _torrentFiles = new ArrayList(sz); } /** @@ -127,7 +127,7 @@ public class Storage _torrentFiles = getFiles(baseFile); long total = 0; - ArrayList lengthsList = new ArrayList(); + ArrayList lengthsList = new ArrayList(); for (TorrentFile tf : _torrentFiles) { long length = tf.length; @@ -160,10 +160,10 @@ public class Storage bitfield = new BitField(pieces); needed = 0; - List> files = new ArrayList(); + List> files = new ArrayList>(); for (TorrentFile tf : _torrentFiles) { - List file = new ArrayList(); + List file = new ArrayList(); StringTokenizer st = new StringTokenizer(tf.name, File.separator); while (st.hasMoreTokens()) { @@ -218,11 +218,11 @@ public class Storage { if (base.getAbsolutePath().equals("/")) throw new IOException("Don't seed root"); - List files = new ArrayList(); + List files = new ArrayList(); addFiles(files, base); int size = files.size(); - List rv = new ArrayList(size); + List rv = new ArrayList(size); for (File f : files) { rv.add(new TorrentFile(base, f)); @@ -550,7 +550,7 @@ public class Storage if (f.equals(_torrentFiles.get(j).RAFfile)) { // Rename and start the check over again // Copy path since metainfo list is unmodifiable - path = new ArrayList(path); + path = new ArrayList(path); int last = path.size() - 1; String lastPath = path.get(last); int dot = lastPath.lastIndexOf('.'); diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java index 06d69aced9..db186f11d2 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java +++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java @@ -21,8 +21,6 @@ package org.klomp.snark; import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; @@ -38,7 +36,6 @@ import java.util.Locale; import java.util.Random; import java.util.Set; -import net.i2p.I2PAppContext; import net.i2p.data.DataHelper; import net.i2p.data.Hash; import net.i2p.util.ConvertToHash; @@ -139,8 +136,8 @@ public class TrackerClient implements Runnable { this.port = PORT; //(port == -1) ? 9 : port; this.infoHash = urlencode(snark.getInfoHash()); this.peerID = urlencode(snark.getID()); - this.trackers = new ArrayList(2); - this.backupTrackers = new ArrayList(2); + this.trackers = new ArrayList(2); + this.backupTrackers = new ArrayList(2); } public synchronized void start() { @@ -274,7 +271,7 @@ public class TrackerClient implements Runnable { primary = meta.getAnnounce(); else if (additionalTrackerURL != null) primary = additionalTrackerURL; - Set trackerHashes = new HashSet(8); + Set trackerHashes = new HashSet(8); // primary tracker if (primary != null) { @@ -533,7 +530,7 @@ public class TrackerClient implements Runnable { if (coordinator.needOutboundPeers()) { // we only want to talk to new people if we need things // from them (duh) - List ordered = new ArrayList(peers); + List ordered = new ArrayList(peers); Random r = _util.getContext().random(); Collections.shuffle(ordered, r); Iterator it = ordered.iterator(); @@ -598,7 +595,7 @@ public class TrackerClient implements Runnable { if (!pids.isEmpty()) { if (_log.shouldLog(Log.INFO)) _log.info("Got " + pids.size() + " from PEX"); - List peers = new ArrayList(pids.size()); + List peers = new ArrayList(pids.size()); for (PeerID pID : pids) { peers.add(new Peer(pID, snark.getID(), snark.getInfoHash(), snark.getMetaInfo())); } @@ -652,7 +649,7 @@ public class TrackerClient implements Runnable { // now try these peers if ((!stop) && !hashes.isEmpty()) { - List peers = new ArrayList(hashes.size()); + List peers = new ArrayList(hashes.size()); for (Hash h : hashes) { try { PeerID pID = new PeerID(h.getData(), _util); diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java index b17d787bea..09b5b64fc6 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java +++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java @@ -59,7 +59,7 @@ class TrackerInfo this(be.bdecodeMap().getMap(), my_id, infohash, metainfo, util); } - private TrackerInfo(Map m, byte[] my_id, byte[] infohash, MetaInfo metainfo, I2PSnarkUtil util) + private TrackerInfo(Map m, byte[] my_id, byte[] infohash, MetaInfo metainfo, I2PSnarkUtil util) throws IOException { BEValue reason = (BEValue)m.get("failure reason"); @@ -80,7 +80,7 @@ class TrackerInfo BEValue bePeers = (BEValue)m.get("peers"); if (bePeers == null) { - peers = Collections.EMPTY_SET; + peers = Collections.emptySet(); } else { Set p; try { @@ -127,7 +127,7 @@ class TrackerInfo private static Set getPeers(List l, byte[] my_id, byte[] infohash, MetaInfo metainfo, I2PSnarkUtil util) throws IOException { - Set peers = new HashSet(l.size()); + Set peers = new HashSet(l.size()); for (BEValue bev : l) { PeerID peerID; @@ -161,7 +161,7 @@ class TrackerInfo throws IOException { int count = l.length / HASH_LENGTH; - Set peers = new HashSet(count); + Set peers = new HashSet(count); for (int i = 0; i < count; i++) { PeerID peerID; diff --git a/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java b/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java index b66a6d3539..5812fb49cb 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java +++ b/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java @@ -6,11 +6,9 @@ import java.util.List; import net.i2p.I2PAppContext; import net.i2p.crypto.TrustedUpdate; -import net.i2p.data.DataHelper; import net.i2p.update.*; import net.i2p.util.Log; import net.i2p.util.SimpleTimer2; -import net.i2p.util.VersionComparator; /** * The downloader for router signed updates. diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/DHTNodes.java b/apps/i2psnark/java/src/org/klomp/snark/dht/DHTNodes.java index 21d394a807..8207090698 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/DHTNodes.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/DHTNodes.java @@ -5,11 +5,8 @@ package org.klomp.snark.dht; import java.util.ArrayList; import java.util.Collection; -import java.util.Comparator; import java.util.Iterator; import java.util.List; -import java.util.Set; -import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import net.i2p.I2PAppContext; @@ -53,8 +50,8 @@ class DHTNodes { _context = ctx; _expireTime = MAX_EXPIRE_TIME; _log = _context.logManager().getLog(DHTNodes.class); - _nodeMap = new ConcurrentHashMap(); - _kad = new KBucketSet(ctx, me, KAD_K, KAD_B, new KBTrimmer(ctx, KAD_K)); + _nodeMap = new ConcurrentHashMap(); + _kad = new KBucketSet(ctx, me, KAD_K, KAD_B, new KBTrimmer(ctx, KAD_K)); } public void start() { @@ -120,7 +117,7 @@ class DHTNodes { else key = new NID(h.getData()); List keys = _kad.getClosest(key, numWant); - List rv = new ArrayList(keys.size()); + List rv = new ArrayList(keys.size()); for (NID nid : keys) { NodeInfo ninfo = _nodeMap.get(nid); if (ninfo != null) diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java b/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java index 0f030a2072..59706c5f88 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java @@ -104,10 +104,10 @@ class DHTTracker { List getPeers(InfoHash ih, int max) { Peers peers = _torrents.get(ih); if (peers == null) - return Collections.EMPTY_LIST; + return Collections.emptyList(); int size = peers.size(); - List rv = new ArrayList(peers.values()); + List rv = new ArrayList(peers.values()); if (max < size) { Collections.shuffle(rv, _context.random()); rv = rv.subList(0, max); diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java index 3782e28914..1ea2c9917e 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java @@ -10,7 +10,6 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -24,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicLong; import net.i2p.I2PAppContext; -import net.i2p.client.I2PClient; import net.i2p.client.I2PSession; import net.i2p.client.I2PSessionException; import net.i2p.client.I2PSessionMuxedListener; @@ -32,12 +30,10 @@ import net.i2p.client.SendMessageOptions; import net.i2p.client.datagram.I2PDatagramDissector; import net.i2p.client.datagram.I2PDatagramMaker; import net.i2p.client.datagram.I2PInvalidDatagramException; -import net.i2p.crypto.SHA1Hash; import net.i2p.data.DataFormatException; import net.i2p.data.DataHelper; import net.i2p.data.Destination; import net.i2p.data.Hash; -import net.i2p.data.SimpleDataStructure; import net.i2p.util.ConcurrentHashSet; import net.i2p.util.I2PAppThread; import net.i2p.util.Log; @@ -169,10 +165,10 @@ public class KRPC implements I2PSessionMuxedListener, DHT { _log = ctx.logManager().getLog(KRPC.class); _tracker = new DHTTracker(ctx); - _sentQueries = new ConcurrentHashMap(); - _outgoingTokens = new ConcurrentHashMap(); - _incomingTokens = new ConcurrentHashMap(); - _blacklist = new ConcurrentHashSet(); + _sentQueries = new ConcurrentHashMap(); + _outgoingTokens = new ConcurrentHashMap(); + _incomingTokens = new ConcurrentHashMap(); + _blacklist = new ConcurrentHashSet(); // Construct my NodeInfo // Pick ports over a big range to marginally increase security @@ -246,9 +242,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT { _log.info("DHT is empty, cannot explore"); return; } - SortedSet toTry = new TreeSet(new NodeInfoComparator(target)); + SortedSet toTry = new TreeSet(new NodeInfoComparator(target)); toTry.addAll(nodes); - Set tried = new HashSet(); + Set tried = new HashSet(); if (_log.shouldLog(Log.INFO)) _log.info("Starting explore of " + target); @@ -328,7 +324,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { rv.remove(_myNodeInfo.getHash()); if (rv.size() >= max) return rv; - rv = new HashSet(rv); + rv = new HashSet(rv); long endTime = _context.clock().now() + maxWait; // needs to be much higher than log(size) since many lookups will fail @@ -337,10 +333,10 @@ public class KRPC implements I2PSessionMuxedListener, DHT { // Initial set to try, will get added to as we go List nodes = _knownNodes.findClosest(iHash, maxNodes); NodeInfoComparator comp = new NodeInfoComparator(iHash); - SortedSet toTry = new TreeSet(comp); - SortedSet heardFrom = new TreeSet(comp); + SortedSet toTry = new TreeSet(comp); + SortedSet heardFrom = new TreeSet(comp); toTry.addAll(nodes); - SortedSet tried = new TreeSet(comp); + SortedSet tried = new TreeSet(comp); if (_log.shouldLog(Log.INFO)) _log.info("Starting getPeers for " + iHash + " (b64: " + new NID(ih) + ") " + " with " + nodes.size() + " to try"); @@ -697,9 +693,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private ReplyWaiter sendPing(NodeInfo nInfo) { if (_log.shouldLog(Log.INFO)) _log.info("Sending ping to: " + nInfo); - Map map = new HashMap(); + Map map = new HashMap(); map.put("q", "ping"); - Map args = new HashMap(); + Map args = new HashMap(); map.put("a", args); return sendQuery(nInfo, map, true); } @@ -714,9 +710,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private ReplyWaiter sendFindNode(NodeInfo nInfo, NID tID) { if (_log.shouldLog(Log.INFO)) _log.info("Sending find node of " + tID + " to: " + nInfo); - Map map = new HashMap(); + Map map = new HashMap(); map.put("q", "find_node"); - Map args = new HashMap(); + Map args = new HashMap(); args.put("target", tID.getData()); map.put("a", args); return sendQuery(nInfo, map, true); @@ -731,9 +727,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private ReplyWaiter sendGetPeers(NodeInfo nInfo, InfoHash ih) { if (_log.shouldLog(Log.INFO)) _log.info("Sending get peers of " + ih + " to: " + nInfo); - Map map = new HashMap(); + Map map = new HashMap(); map.put("q", "get_peers"); - Map args = new HashMap(); + Map args = new HashMap(); args.put("info_hash", ih.getData()); map.put("a", args); ReplyWaiter rv = sendQuery(nInfo, map, true); @@ -752,9 +748,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private ReplyWaiter sendAnnouncePeer(NodeInfo nInfo, InfoHash ih, Token token) { if (_log.shouldLog(Log.INFO)) _log.info("Sending announce of " + ih + " to: " + nInfo); - Map map = new HashMap(); + Map map = new HashMap(); map.put("q", "announce_peer"); - Map args = new HashMap(); + Map args = new HashMap(); args.put("info_hash", ih.getData()); // port ignored args.put("port", Integer.valueOf(TrackerClient.PORT)); @@ -775,8 +771,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private boolean sendPong(NodeInfo nInfo, MsgID msgID) { if (_log.shouldLog(Log.INFO)) _log.info("Sending pong to: " + nInfo); - Map map = new HashMap(); - Map resps = new HashMap(); + Map map = new HashMap(); + Map resps = new HashMap(); map.put("r", resps); return sendResponse(nInfo, msgID, map); } @@ -794,8 +790,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private boolean sendNodes(NodeInfo nInfo, MsgID msgID, Token token, byte[] ids) { if (_log.shouldLog(Log.INFO)) _log.info("Sending nodes to: " + nInfo); - Map map = new HashMap(); - Map resps = new HashMap(); + Map map = new HashMap(); + Map resps = new HashMap(); map.put("r", resps); if (token != null) resps.put("token", token.getData()); @@ -807,8 +803,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private boolean sendPeers(NodeInfo nInfo, MsgID msgID, Token token, List peers) { if (_log.shouldLog(Log.INFO)) _log.info("Sending peers to: " + nInfo); - Map map = new HashMap(); - Map resps = new HashMap(); + Map map = new HashMap(); + Map resps = new HashMap(); map.put("r", resps); resps.put("token", token.getData()); resps.put("values", peers); @@ -824,8 +820,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT { private boolean sendError(NodeInfo nInfo, MsgID msgID, int err, String msg) { if (_log.shouldLog(Log.INFO)) _log.info("Sending error " + msg + " to: " + nInfo); - Map map = new HashMap(); - Map resps = new HashMap(); + Map map = new HashMap(); + Map resps = new HashMap(); map.put("r", resps); return sendResponse(nInfo, msgID, map); } @@ -1260,7 +1256,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { } sendNodes(nInfo, msgID, token, nodeArray); } else { - List hashes = new ArrayList(peers.size()); + List hashes = new ArrayList(peers.size()); for (Hash peer : peers) { hashes.add(peer.getData()); } @@ -1346,7 +1342,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { */ private List receiveNodes(NodeInfo nInfo, byte[] ids) throws InvalidBEncodingException { int max = Math.min(K, ids.length / NodeInfo.LENGTH); - List rv = new ArrayList(max); + List rv = new ArrayList(max); for (int off = 0; off < ids.length && rv.size() < max; off += NodeInfo.LENGTH) { NodeInfo nInf = new NodeInfo(ids, off); if (_blacklist.contains(nInf.getNID())) { @@ -1370,7 +1366,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { if (_log.shouldLog(Log.INFO)) _log.info("Rcvd peers from: " + nInfo); int max = Math.min(MAX_WANT, peers.size()); - List rv = new ArrayList(max); + List rv = new ArrayList(max); for (BEValue bev : peers) { byte[] b = bev.getBytes(); //Hash h = new Hash(b); diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/Token.java b/apps/i2psnark/java/src/org/klomp/snark/dht/Token.java index 14c87280a9..59c0943c90 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/Token.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/Token.java @@ -7,7 +7,6 @@ import java.util.Date; import net.i2p.I2PAppContext; import net.i2p.data.ByteArray; -import net.i2p.data.DataHelper; /** * Used for Both outgoing and incoming tokens