Changeset 6235b49


Ignore:
Timestamp:
Jan 25, 2009 1:01:48 AM (12 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
37f9d3a, d88cfae
Parents:
6ed17c1
Message:

cleanup of lease stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java

    r6ed17c1 r6235b49  
    6666    }
    6767   
    68     public DataStructure removeLease(Hash key) {
    69         return super.removeLease(key);
    70     }
    71    
    7268    public void put(Hash key, DataStructure data) {
    7369        if ( (data == null) || (key == null) ) return;
     
    7773            _writer.queue(key, data);
    7874    }
    79    
    80 /*
    81  *  We don't store leasesets here anymore, use the TransientDataStore count
    82  *
    83     public int countLeaseSets() {
    84         File dbDir = null;
    85         try {
    86             dbDir = getDbDir();
    87         } catch (IOException ioe) {
    88             return 0;
    89         }
    90         if (dbDir == null)
    91             return 0;
    92         File leaseSetFiles[] = dbDir.listFiles(LeaseSetFilter.getInstance());
    93         if (leaseSetFiles == null)
    94             return 0;
    95         else
    96             return leaseSetFiles.length;
    97     }
    98 */
    9975   
    10076    private void accept(LeaseSet ls) {
     
    250226            try {
    251227                File dbDir = getDbDir();
    252 /****
    253                 if (getContext().router().getUptime() < 10*60*1000) {
    254                     File leaseSetFiles[] = dbDir.listFiles(LeaseSetFilter.getInstance());
    255                     if (leaseSetFiles != null) {
    256                         for (int i = 0; i < leaseSetFiles.length; i++) {
    257                             Hash key = getLeaseSetHash(leaseSetFiles[i].getName());
    258                             if ( (key != null) && (!isKnown(key)) )
    259                                 PersistentDataStore.this._context.jobQueue().addJob(new ReadLeaseJob(leaseSetFiles[i], key));
    260                         }
    261                     }
    262                 }
    263 ****/
    264228                File routerInfoFiles[] = dbDir.listFiles(RouterInfoFilter.getInstance());
    265229                if (routerInfoFiles != null) {
     
    283247        }
    284248    }
    285    
    286 /****
    287     private class ReadLeaseJob extends JobImpl {
    288         private File _leaseFile;
    289         private Hash _key;
    290         public ReadLeaseJob(File leaseFile, Hash key) {
    291             super(PersistentDataStore.this._context);
    292             _leaseFile = leaseFile;
    293             _key = key;
    294         }
    295         public String getName() { return "Read LeaseSet"; }
    296         private boolean shouldRead() {
    297             DataStructure data = get(_key);
    298             if (data == null) return true;
    299             if (data instanceof LeaseSet) {
    300                 long knownDate = ((LeaseSet)data).getEarliestLeaseDate();
    301                 long fileDate = _leaseFile.lastModified();
    302                 if (fileDate > knownDate)
    303                     return true;
    304                 else
    305                     return false;
    306             } else {
    307                 // wtf
    308                 return true;
    309             }
    310         }
    311         public void runJob() {
    312             if (!shouldRead()) return;
    313             try {
    314                 FileInputStream fis = null;
    315                 boolean corrupt = false;
    316                 try {
    317                     fis = new FileInputStream(_leaseFile);
    318                     LeaseSet ls = new LeaseSet();
    319                     ls.readBytes(fis);
    320                     try {
    321                         _facade.store(ls.getDestination().calculateHash(), ls);
    322                     } catch (IllegalArgumentException iae) {
    323                         _log.info("Refused locally loaded leaseSet - deleting");
    324                         corrupt = true;
    325                     }
    326                 } catch (DataFormatException dfe) {
    327                     _log.warn("Error reading the leaseSet from " + _leaseFile.getAbsolutePath(), dfe);
    328                     corrupt = true;
    329                 } catch (FileNotFoundException fnfe) {
    330                     _log.debug("Deleted prior to read.. a race during expiration / load");
    331                     corrupt = false;
    332                 } finally {
    333                     if (fis != null) try { fis.close(); } catch (IOException ioe) {}
    334                 }
    335                 if (corrupt) _leaseFile.delete();
    336             } catch (IOException ioe) {
    337                 _log.warn("Error reading the leaseSet from " + _leaseFile.getAbsolutePath(), ioe);
    338             }
    339         }
    340     }
    341 ****/
    342249   
    343250    private class ReadRouterJob extends JobImpl {
     
    465372            return;
    466373        }
    467 /***
    468         String lsName = getLeaseSetName(key);
    469         File f = new File(dir, lsName);
    470         if (f.exists()) {
    471             boolean removed = f.delete();
    472             if (!removed)
    473                 _log.warn("Unable to remove lease set at " + f.getAbsolutePath());
    474             else
    475                 _log.info("Removed lease set at " + f.getAbsolutePath());
    476             return;
    477         }
    478 ***/
    479     }
    480    
    481 /***
    482     private final static class LeaseSetFilter implements FilenameFilter {
    483         private static final FilenameFilter _instance = new LeaseSetFilter();
    484         public static final FilenameFilter getInstance() { return _instance; }
    485         public boolean accept(File dir, String name) {
    486             if (name == null) return false;
    487             name = name.toUpperCase();
    488             return (name.startsWith(LEASESET_PREFIX.toUpperCase()) && name.endsWith(LEASESET_SUFFIX.toUpperCase()));
    489         }
    490     }
    491 ***/
     374    }
     375   
    492376    private final static class RouterInfoFilter implements FilenameFilter {
    493377        private static final FilenameFilter _instance = new RouterInfoFilter();
Note: See TracChangeset for help on using the changeset viewer.