Author: toad
Date: 2008-01-04 15:32:40 +0000 (Fri, 04 Jan 2008)
New Revision: 16883

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
keyLength

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2008-01-04 
15:26:37 UTC (rev 16882)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2008-01-04 
15:32:40 UTC (rev 16883)
@@ -79,6 +79,7 @@
        private long hits = 0;
        private long misses = 0;
        private long writes = 0;
+       private final int keyLength;
        private final Database keysDB;
        private final SecondaryDatabase accessTimeDB;
        private final SecondaryDatabase blockNumDB;
@@ -131,10 +132,17 @@
                String newStoreFileName = typeName(type) + suffix + '.' + 
(isStore ? "store" : "cache");
                File newStoreFile = new File(baseStoreDir, newStoreFileName);
                File lruFile = new File(baseStoreDir, newStoreFileName+".lru");
-               File keysFile = null;
-               if(type == TYPE_SSK)
+               
+               int keyLength;
+               File keysFile;
+               if(type == TYPE_SSK) {
+                       keyLength = 32;
                        keysFile = new File(baseStoreDir, 
newStoreFileName+".keys");
-
+               } else {
+                       keyLength = 0;
+                       keysFile = null;
+               }
+               
                String newDBPrefix = typeName(type)+ '-' +(isStore ? "store" : 
"cache")+ '-';

                File newFixSecondaryFile = new File(baseStoreDir, 
"recreate_secondary_db-"+newStoreFileName);
@@ -149,7 +157,7 @@
                        // Don't need to create a new Environment, since we can 
use the old one.

                        tmp = openStore(storeEnvironment, baseStoreDir, 
newDBPrefix, newStoreFile, lruFile, keysFile, newFixSecondaryFile, maxStoreKeys,
-                                       blockSize, headerSize, 
throwOnTooFewKeys, false, lastVersion, type, false, storeShutdownHook, 
tryDbLoad, reconstructFile);
+                                       blockSize, headerSize, 
throwOnTooFewKeys, false, lastVersion, type, false, storeShutdownHook, 
tryDbLoad, reconstructFile, keyLength);

                } else {

@@ -158,7 +166,7 @@

                        tmp = openStore(storeEnvironment, baseStoreDir, 
newDBPrefix, newStoreFile, lruFile, keysFile, newFixSecondaryFile, 
                                        maxStoreKeys, blockSize, headerSize, 
throwOnTooFewKeys, false, lastVersion, type, 
-                                       false, storeShutdownHook, tryDbLoad, 
reconstructFile);
+                                       false, storeShutdownHook, tryDbLoad, 
reconstructFile, keyLength);

                }

@@ -168,7 +176,7 @@
        private static BerkeleyDBFreenetStore openStore(Environment 
storeEnvironment, File baseDir, String newDBPrefix, File newStoreFile,
                        File lruFile, File keysFile, File newFixSecondaryFile, 
long maxStoreKeys, int blockSize, int headerSize, boolean throwOnTooFewKeys,
                        boolean noCheck, int lastVersion, short type, boolean 
wipe, SemiOrderedShutdownHook storeShutdownHook, 
-                       boolean tryDbLoad, File reconstructFile) throws 
DatabaseException, IOException {
+                       boolean tryDbLoad, File reconstructFile, int keyLength) 
throws DatabaseException, IOException {

                if(tryDbLoad) {
                        String dbName = newDBPrefix+"CHK";
@@ -199,7 +207,7 @@
                        // First try just opening it.
                        return new BerkeleyDBFreenetStore(type, 
storeEnvironment, newDBPrefix, newStoreFile, lruFile, keysFile, 
newFixSecondaryFile,
                                        maxStoreKeys, blockSize, headerSize, 
throwOnTooFewKeys, noCheck, wipe, storeShutdownHook, 
-                                       reconstructFile);
+                                       reconstructFile, keyLength);
                } catch (DatabaseException e) {

                        // Try a reconstruct
@@ -213,7 +221,7 @@
                                newStoreFile.delete();
                                return new BerkeleyDBFreenetStore(type, 
storeEnvironment, newDBPrefix, newStoreFile, lruFile, keysFile, 
newFixSecondaryFile,
                                                maxStoreKeys, blockSize, 
headerSize, throwOnTooFewKeys, noCheck, wipe, storeShutdownHook, 
-                                               reconstructFile);
+                                               reconstructFile, keyLength);
                        }

                        System.err.println("Attempting to reconstruct 
index...");
@@ -222,7 +230,7 @@
                        // Reconstruct

                        return new BerkeleyDBFreenetStore(storeEnvironment, 
newDBPrefix, newStoreFile, lruFile, keysFile, newFixSecondaryFile, 
-                                       maxStoreKeys, blockSize, headerSize, 
type, noCheck, storeShutdownHook, reconstructFile);
+                                       maxStoreKeys, blockSize, headerSize, 
type, noCheck, storeShutdownHook, reconstructFile, keyLength);
                }
        }

@@ -246,9 +254,10 @@
        * @throws DatabaseException
        * @throws FileNotFoundException if the dir does not exist and could not 
be created
        */
-       private BerkeleyDBFreenetStore(short type, Environment env, String 
prefix, File storeFile, File lruFile, File keysFile, File fixSecondaryFile, 
long maxChkBlocks, int blockSize, int headerSize, boolean throwOnTooFewKeys, 
boolean noCheck, boolean wipe, SemiOrderedShutdownHook storeShutdownHook, File 
reconstructFile) throws IOException, DatabaseException {
+       private BerkeleyDBFreenetStore(short type, Environment env, String 
prefix, File storeFile, File lruFile, File keysFile, File fixSecondaryFile, 
long maxChkBlocks, int blockSize, int headerSize, boolean throwOnTooFewKeys, 
boolean noCheck, boolean wipe, SemiOrderedShutdownHook storeShutdownHook, File 
reconstructFile, int keyLength) throws IOException, DatabaseException {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.storeType = type;
+               this.keyLength = keyLength;
                this.dataBlockSize = blockSize;
                this.headerBlockSize = headerSize;
                this.freeBlocks = new SortedLongSet();
@@ -977,9 +986,10 @@
        * @throws IOException If the store cannot be opened because of a 
filesystem problem.
        * @throws FileNotFoundException if the dir does not exist and could not 
be created
        */
-       private BerkeleyDBFreenetStore(Environment env, String prefix, File 
storeFile, File lruFile, File keysFile, File fixSecondaryFile, long 
maxChkBlocks, int blockSize, int headerSize, short type, boolean noCheck, 
SemiOrderedShutdownHook storeShutdownHook, File reconstructFile) throws 
DatabaseException, IOException {
+       private BerkeleyDBFreenetStore(Environment env, String prefix, File 
storeFile, File lruFile, File keysFile, File fixSecondaryFile, long 
maxChkBlocks, int blockSize, int headerSize, short type, boolean noCheck, 
SemiOrderedShutdownHook storeShutdownHook, File reconstructFile, int keyLength) 
throws DatabaseException, IOException {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.storeType = type;
+               this.keyLength = keyLength;
                this.dataBlockSize = blockSize;
                this.headerBlockSize = headerSize;
                this.freeBlocks = new SortedLongSet();


Reply via email to