diff --git a/pom.xml b/pom.xml
index 6da871f..ba64ed1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,6 +35,11 @@
kryo
5.0.0-RC1
+
+ net.openhft
+ zero-allocation-hashing
+ 0.8
+
diff --git a/src/main/java/org/warp/jcwdb/CacheIndexManager.java b/src/main/java/org/warp/jcwdb/CacheIndexManager.java
index 31c9cb9..ad8ef24 100644
--- a/src/main/java/org/warp/jcwdb/CacheIndexManager.java
+++ b/src/main/java/org/warp/jcwdb/CacheIndexManager.java
@@ -45,4 +45,10 @@ public class CacheIndexManager implements IndexManager {
public void close() {
// TODO: implement
}
+
+ @Override
+ public long clean() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
}
diff --git a/src/main/java/org/warp/jcwdb/DBDataOutput.java b/src/main/java/org/warp/jcwdb/DBDataOutput.java
index ef20a51..6af18e9 100644
--- a/src/main/java/org/warp/jcwdb/DBDataOutput.java
+++ b/src/main/java/org/warp/jcwdb/DBDataOutput.java
@@ -3,9 +3,10 @@ package org.warp.jcwdb;
public interface DBDataOutput {
int getSize();
int getType();
+ long calculateHash();
DBWriter getWriter();
- static DBDataOutput create(DBWriter writer, int type, int size) {
+ static DBDataOutput create(DBWriter writer, int type, int size, long hash) {
return new DBDataOutput() {
@Override
@@ -17,6 +18,11 @@ public interface DBDataOutput {
public int getType() {
return type;
}
+
+ @Override
+ public long calculateHash() {
+ return hash;
+ }
@Override
public DBWriter getWriter() {
diff --git a/src/main/java/org/warp/jcwdb/DBGenericObjectParser.java b/src/main/java/org/warp/jcwdb/DBGenericObjectParser.java
index 1bb7c8a..58dd9ca 100644
--- a/src/main/java/org/warp/jcwdb/DBGenericObjectParser.java
+++ b/src/main/java/org/warp/jcwdb/DBGenericObjectParser.java
@@ -5,7 +5,10 @@ import java.io.ByteArrayOutputStream;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Output;
+import net.openhft.hashing.LongHashFunction;
+
public class DBGenericObjectParser extends DBTypeParserImpl