Changeset 8575437


Ignore:
Timestamp:
Sep 3, 2012 3:33:12 PM (7 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
2cddf14
Parents:
c965a3d
Message:
  • LHMCache: New util, replacing several private versions
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • apps/i2psnark/java/src/net/i2p/kademlia/KBucketSet.java

    rc965a3d r8575437  
    1515import java.util.Comparator;
    1616import java.util.HashSet;
    17 import java.util.LinkedHashMap;
    1817import java.util.List;
    1918import java.util.Map;
     
    2524import net.i2p.data.DataHelper;
    2625import net.i2p.data.SimpleDataStructure;
     26import net.i2p.util.LHMCache;
    2727import net.i2p.util.Log;
    2828
     
    659659            _bValue = bValue;
    660660            _bigUs = new BigInteger(1, us.getData());
    661             _distanceCache = new LHM(256);
     661            _distanceCache = new LHMCache(256);
    662662        }
    663663
     
    698698    }
    699699
    700     private static class LHM<K, V> extends LinkedHashMap<K, V> {
    701         private final int _max;
    702 
    703         public LHM(int max) {
    704             super(max, 0.75f, true);
    705             _max = max;
    706         }
    707 
    708         @Override
    709         protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
    710             return size() > _max;
    711         }
    712     }
    713 
    714700    /**
    715701     *  For Collections.binarySearch.
  • core/java/src/net/i2p/client/I2PSessionImpl.java

    rc965a3d r8575437  
    1919import java.util.ArrayList;
    2020import java.util.Iterator;
    21 import java.util.LinkedHashMap;
    2221import java.util.List;
    2322import java.util.Map;
     
    4544import net.i2p.internal.QueuedI2CPMessageReader;
    4645import net.i2p.util.I2PAppThread;
     46import net.i2p.util.LHMCache;
    4747import net.i2p.util.Log;
    4848import net.i2p.util.SimpleScheduler;
     
    141141     *  @since 0.8.9
    142142     */
    143     private static final LookupCache _lookupCache = new LookupCache(16);
     143    private static final Map<Hash, Destination> _lookupCache = new LHMCache(16);
    144144
    145145    /** SSL interface (only) @since 0.8.3 */
     
    986986        return buf.toString();
    987987    }
    988 
    989     /**
    990      *  @since 0.8.9
    991      */
    992     private static class LookupCache extends LinkedHashMap<Hash, Destination> {
    993         private final int _max;
    994 
    995         public LookupCache(int max) {
    996             super(max, 0.75f, true);
    997             _max = max;
    998         }
    999 
    1000         @Override
    1001         protected boolean removeEldestEntry(Map.Entry<Hash, Destination> eldest) {
    1002             return size() > _max;
    1003         }
    1004     }
    1005988}
  • core/java/src/net/i2p/client/naming/BlockfileNamingService.java

    rc965a3d r8575437  
    3030import net.i2p.data.Destination;
    3131import net.i2p.data.Hash;
     32import net.i2p.util.LHMCache;
    3233import net.i2p.util.Log;
    3334import net.i2p.util.SecureFileOutputStream;
     
    135136        _lists = new ArrayList();
    136137        _invalid = new ArrayList();
    137         _negativeCache = new LHM(NEGATIVE_CACHE_SIZE);
     138        _negativeCache = new LHMCache(NEGATIVE_CACHE_SIZE);
    138139        BlockFile bf = null;
    139140        RAIFile raf = null;
  • core/java/src/net/i2p/client/naming/DummyNamingService.java

    rc965a3d r8575437  
    88package net.i2p.client.naming;
    99
    10 import java.util.LinkedHashMap;
    1110import java.util.Locale;
    1211import java.util.Map;
     
    1514import net.i2p.I2PAppContext;
    1615import net.i2p.data.Destination;
     16import net.i2p.util.LHMCache;
    1717
    1818/**
     
    3131     *  are invalidated.
    3232     */
    33     private static final Map<String, Destination> _cache = new LHM(CACHE_MAX_SIZE);
     33    private static final Map<String, Destination> _cache = new LHMCache(CACHE_MAX_SIZE);
    3434
    3535    /**
     
    116116        }
    117117    }
    118 
    119     protected static class LHM<K, V> extends LinkedHashMap<K, V> {
    120         private final int _max;
    121 
    122         public LHM(int max) {
    123             super(max, 0.75f, true);
    124             _max = max;
    125         }
    126 
    127         @Override
    128         protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
    129             return size() > _max;
    130         }
    131     }
    132118}
  • core/java/src/net/i2p/data/SDSCache.java

    rc965a3d r8575437  
    77import java.lang.reflect.Constructor;
    88import java.lang.reflect.InvocationTargetException;
    9 import java.util.LinkedHashMap;
    109import java.util.Map;
    1110
    1211import net.i2p.I2PAppContext;
     12import net.i2p.util.LHMCache;
    1313import net.i2p.util.SimpleByteCache;
    1414
     
    7272    public SDSCache(Class<V> rvClass, int len, int max) {
    7373        int size = (int) (max * FACTOR);
    74         _cache = new LHM(size);
     74        _cache = new LHMCache(size);
    7575        _datalen = len;
    7676        try {
     
    182182        return Integer.valueOf(rv);
    183183    }
    184 
    185     private static class LHM<K, V> extends LinkedHashMap<K, V> {
    186         private final int _max;
    187 
    188         public LHM(int max) {
    189             super(max, 0.75f, true);
    190             _max = max;
    191         }
    192 
    193         @Override
    194         protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
    195             return size() > _max;
    196         }
    197     }
    198184}
Note: See TracChangeset for help on using the changeset viewer.