Findbugs all over:

- Serializable
 - hashCode()
 - Make DataStructureImpl Serializable (removed from DataStructure in 2005)
This commit is contained in:
zzz
2014-06-15 16:14:13 +00:00
parent ff189e796c
commit 8845ce6e1c
49 changed files with 201 additions and 130 deletions

View File

@@ -29,8 +29,10 @@ import net.i2p.util.Log;
* @author jrandom
*/
public class GarlicClove extends DataStructureImpl {
//private final Log _log;
private final I2PAppContext _context;
private static final long serialVersionUID = 1L;
private transient final I2PAppContext _context;
private DeliveryInstructions _instructions;
private I2NPMessage _msg;
private long _cloveId;

View File

@@ -9,6 +9,7 @@ package net.i2p.router;
*/
import java.io.IOException;
import java.io.Serializable;
import java.io.Writer;
import java.util.Collection;
import java.util.Collections;
@@ -658,7 +659,7 @@ public class JobQueue {
* Ensure different jobs with the same timing are different so they aren't removed.
* @since 0.8.9
*/
private static class JobComparator implements Comparator<Job> {
private static class JobComparator implements Comparator<Job>, Serializable {
public int compare(Job l, Job r) {
// equals first, Jobs generally don't override so this should be fast
// And this MUST be first so we can remove a job even if its timing has changed.

View File

@@ -16,7 +16,9 @@ import net.i2p.util.KeyRing;
* Caution - not all HashMap methods are overridden.
*/
public class PersistentKeyRing extends KeyRing {
private RouterContext _ctx;
private static final long serialVersionUID = 1L;
private transient final RouterContext _ctx;
private static final String PROP_PFX = "router.keyring.key.";
public PersistentKeyRing(RouterContext ctx) {

View File

@@ -1,5 +1,6 @@
package net.i2p.router.peermanager;
import java.io.Serializable;
import java.util.Comparator;
import net.i2p.data.DataHelper;
@@ -8,7 +9,7 @@ import net.i2p.data.DataHelper;
* Order profiles by their capacity, but backwards (highest capacity / value first).
*
*/
class InverseCapacityComparator implements Comparator<PeerProfile> {
class InverseCapacityComparator implements Comparator<PeerProfile>, Serializable {
/**
* Compare the two objects backwards. The standard comparator returns
* -1 if lhs is less than rhs, 1 if lhs is greater than rhs, or 0 if they're

View File

@@ -1,5 +1,6 @@
package net.i2p.router.peermanager;
import java.io.Serializable;
import java.util.Comparator;
import net.i2p.data.DataHelper;
@@ -8,7 +9,7 @@ import net.i2p.data.DataHelper;
* Order profiles by their speed (lowest first).
* @since 0.7.10
*/
class SpeedComparator implements Comparator<PeerProfile> {
class SpeedComparator implements Comparator<PeerProfile>, Serializable {
public int compare(PeerProfile left, PeerProfile right) {

View File

@@ -9,6 +9,7 @@ package net.i2p.router.transport;
*/
import java.io.IOException;
import java.io.Serializable;
import java.io.Writer;
import java.net.InetAddress;
import java.util.ArrayList;
@@ -627,7 +628,7 @@ public abstract class TransportImpl implements Transport {
* Lowest cost (most preferred) first.
* @since IPv6
*/
private static class AddrComparator implements Comparator<RouterAddress> {
private static class AddrComparator implements Comparator<RouterAddress>, Serializable {
private final int adj;
public AddrComparator(int ipv6Adjustment) {

View File

@@ -1,6 +1,7 @@
package net.i2p.router.transport.ntcp;
import java.io.IOException;
import java.io.Serializable;
import java.net.InetSocketAddress;
import java.net.InetAddress;
import java.net.Inet6Address;
@@ -1275,7 +1276,7 @@ public class NTCPTransport extends TransportImpl {
public static final AlphaComparator instance() { return _instance; }
}
private static class PeerComparator implements Comparator<NTCPConnection> {
private static class PeerComparator implements Comparator<NTCPConnection>, Serializable {
public int compare(NTCPConnection l, NTCPConnection r) {
if (l == null || r == null)
throw new IllegalArgumentException();

View File

@@ -1,6 +1,7 @@
package net.i2p.router.transport.udp;
import java.io.IOException;
import java.io.Serializable;
import java.io.Writer;
import java.net.InetAddress;
import java.net.SocketException;
@@ -2240,59 +2241,59 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
private static final int FLAG_DEBUG = 99;
private static Comparator<PeerState> getComparator(int sortFlags) {
Comparator<PeerState> rv = null;
Comparator<PeerState> rv;
switch (Math.abs(sortFlags)) {
case FLAG_IDLE_IN:
rv = IdleInComparator.instance();
rv = new IdleInComparator();
break;
case FLAG_IDLE_OUT:
rv = IdleOutComparator.instance();
rv = new IdleOutComparator();
break;
case FLAG_RATE_IN:
rv = RateInComparator.instance();
rv = new RateInComparator();
break;
case FLAG_RATE_OUT:
rv = RateOutComparator.instance();
rv = new RateOutComparator();
break;
case FLAG_UPTIME:
rv = UptimeComparator.instance();
rv = new UptimeComparator();
break;
case FLAG_SKEW:
rv = SkewComparator.instance();
rv = new SkewComparator();
break;
case FLAG_CWND:
rv = CwndComparator.instance();
rv = new CwndComparator();
break;
case FLAG_SSTHRESH:
rv = SsthreshComparator.instance();
rv = new SsthreshComparator();
break;
case FLAG_RTT:
rv = RTTComparator.instance();
rv = new RTTComparator();
break;
//case FLAG_DEV:
// rv = DevComparator.instance();
// rv = new DevComparator();
// break;
case FLAG_RTO:
rv = RTOComparator.instance();
rv = new RTOComparator();
break;
case FLAG_MTU:
rv = MTUComparator.instance();
rv = new MTUComparator();
break;
case FLAG_SEND:
rv = SendCountComparator.instance();
rv = new SendCountComparator();
break;
case FLAG_RECV:
rv = RecvCountComparator.instance();
rv = new RecvCountComparator();
break;
case FLAG_RESEND:
rv = ResendComparator.instance();
rv = new ResendComparator();
break;
case FLAG_DUP:
rv = DupComparator.instance();
rv = new DupComparator();
break;
case FLAG_ALPHA:
default:
rv = AlphaComparator.instance();
rv = new AlphaComparator();
break;
}
if (sortFlags < 0)
@@ -2301,12 +2302,9 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
}
private static class AlphaComparator extends PeerComparator {
private static final AlphaComparator _instance = new AlphaComparator();
public static final AlphaComparator instance() { return _instance; }
}
private static class IdleInComparator extends PeerComparator {
private static final IdleInComparator _instance = new IdleInComparator();
public static final IdleInComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = r.getLastReceiveTime() - l.getLastReceiveTime();
@@ -2316,9 +2314,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return (int)rv;
}
}
private static class IdleOutComparator extends PeerComparator {
private static final IdleOutComparator _instance = new IdleOutComparator();
public static final IdleOutComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = r.getLastSendTime() - l.getLastSendTime();
@@ -2328,9 +2325,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return (int)rv;
}
}
private static class RateInComparator extends PeerComparator {
private static final RateInComparator _instance = new RateInComparator();
public static final RateInComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
int rv = l.getReceiveBps() - r.getReceiveBps();
@@ -2340,9 +2336,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return rv;
}
}
private static class RateOutComparator extends PeerComparator {
private static final RateOutComparator _instance = new RateOutComparator();
public static final RateOutComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
int rv = l.getSendBps() - r.getSendBps();
@@ -2352,9 +2347,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return rv;
}
}
private static class UptimeComparator extends PeerComparator {
private static final UptimeComparator _instance = new UptimeComparator();
public static final UptimeComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = r.getKeyEstablishedTime() - l.getKeyEstablishedTime();
@@ -2364,9 +2358,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return (int)rv;
}
}
private static class SkewComparator extends PeerComparator {
private static final SkewComparator _instance = new SkewComparator();
public static final SkewComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = Math.abs(l.getClockSkew()) - Math.abs(r.getClockSkew());
@@ -2376,9 +2369,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return (int)rv;
}
}
private static class CwndComparator extends PeerComparator {
private static final CwndComparator _instance = new CwndComparator();
public static final CwndComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
int rv = l.getSendWindowBytes() - r.getSendWindowBytes();
@@ -2388,9 +2380,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return rv;
}
}
private static class SsthreshComparator extends PeerComparator {
private static final SsthreshComparator _instance = new SsthreshComparator();
public static final SsthreshComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
int rv = l.getSlowStartThreshold() - r.getSlowStartThreshold();
@@ -2400,9 +2391,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return rv;
}
}
private static class RTTComparator extends PeerComparator {
private static final RTTComparator _instance = new RTTComparator();
public static final RTTComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
int rv = l.getRTT() - r.getRTT();
@@ -2430,8 +2420,6 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
/** */
private static class RTOComparator extends PeerComparator {
private static final RTOComparator _instance = new RTOComparator();
public static final RTOComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
int rv = l.getRTO() - r.getRTO();
@@ -2441,9 +2429,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return rv;
}
}
private static class MTUComparator extends PeerComparator {
private static final MTUComparator _instance = new MTUComparator();
public static final MTUComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
int rv = l.getMTU() - r.getMTU();
@@ -2453,9 +2440,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return rv;
}
}
private static class SendCountComparator extends PeerComparator {
private static final SendCountComparator _instance = new SendCountComparator();
public static final SendCountComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = l.getPacketsTransmitted() - r.getPacketsTransmitted();
@@ -2465,9 +2451,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return (int)rv;
}
}
private static class RecvCountComparator extends PeerComparator {
private static final RecvCountComparator _instance = new RecvCountComparator();
public static final RecvCountComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = l.getPacketsReceived() - r.getPacketsReceived();
@@ -2477,9 +2462,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return (int)rv;
}
}
private static class ResendComparator extends PeerComparator {
private static final ResendComparator _instance = new ResendComparator();
public static final ResendComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = l.getPacketsRetransmitted() - r.getPacketsRetransmitted();
@@ -2489,9 +2473,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
return (int)rv;
}
}
private static class DupComparator extends PeerComparator {
private static final DupComparator _instance = new DupComparator();
public static final DupComparator instance() { return _instance; }
@Override
public int compare(PeerState l, PeerState r) {
long rv = l.getPacketsReceivedDuplicate() - r.getPacketsReceivedDuplicate();
@@ -2502,7 +2485,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
}
}
private static class PeerComparator implements Comparator<PeerState> {
private static class PeerComparator implements Comparator<PeerState>, Serializable {
public int compare(PeerState l, PeerState r) {
return DataHelper.compareTo(l.getRemotePeer().getData(), r.getRemotePeer().getData());
}

View File

@@ -1,5 +1,6 @@
package net.i2p.router.tunnel.pool;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -436,7 +437,7 @@ class BuildExecutor implements Runnable {
* WARNING - this sort may be unstable, as a pool's tunnel count may change
* during the sort. This will cause Java 7 sort to throw an IAE.
*/
private static class TunnelPoolComparator implements Comparator<TunnelPool> {
private static class TunnelPoolComparator implements Comparator<TunnelPool>, Serializable {
private final boolean _preferEmpty;

View File

@@ -1,5 +1,6 @@
package net.i2p.router.tunnel.pool;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collection;
@@ -525,7 +526,7 @@ public abstract class TunnelPeerSelector {
* Now:
* d((H(l+h), h) - d(H(r+h), h)
*/
private static class HashComparator implements Comparator<Hash> {
private static class HashComparator implements Comparator<Hash>, Serializable {
private final Hash _hash, tmp;
private final byte[] data;

View File

@@ -1,5 +1,6 @@
package net.i2p.router.tunnel.pool;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -640,7 +641,7 @@ public class TunnelPool {
* but we use latest expiration first, since we need to sort them by that anyway.
*
*/
private static class LeaseComparator implements Comparator<Lease> {
private static class LeaseComparator implements Comparator<Lease>, Serializable {
public int compare(Lease l, Lease r) {
return r.getEndDate().compareTo(l.getEndDate());
}
@@ -651,7 +652,7 @@ public class TunnelPool {
*
* @since 0.8.10
*/
private static class TunnelInfoComparator implements Comparator<TunnelInfo> {
private static class TunnelInfoComparator implements Comparator<TunnelInfo>, Serializable {
private final byte[] _base;
private final boolean _avoidZero;

View File

@@ -26,8 +26,9 @@ import net.i2p.util.Log;
*/
public class CoDelBlockingQueue<E extends CDQEntry> extends LinkedBlockingQueue<E> {
private final I2PAppContext _context;
private final Log _log;
private static final long serialVersionUID = 1L;
private transient final I2PAppContext _context;
private transient final Log _log;
private final String _name;
private final int _capacity;

View File

@@ -1,5 +1,6 @@
package net.i2p.router.util;
import java.io.Serializable;
import java.util.Comparator;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.TimeUnit;
@@ -19,8 +20,9 @@ import net.i2p.util.Log;
*/
public class PriBlockingQueue<E extends PQEntry> extends PriorityBlockingQueue<E> {
protected final I2PAppContext _context;
protected final Log _log;
private static final long serialVersionUID = 1L;
protected transient final I2PAppContext _context;
protected transient final Log _log;
protected final String _name;
private final AtomicLong _seqNum = new AtomicLong();
@@ -114,7 +116,7 @@ public class PriBlockingQueue<E extends PQEntry> extends PriorityBlockingQueue<E
/**
* highest priority first, then lowest sequence number first
*/
private static class PriorityComparator<E extends PQEntry> implements Comparator<E> {
private static class PriorityComparator<E extends PQEntry> implements Comparator<E>, Serializable {
public int compare(E l, E r) {
int d = r.getPriority() - l.getPriority();
if (d != 0)