소스 검색

add bucket class

Boyoung- 8 년 전
부모
커밋
c5b0e03429
2개의 변경된 파일35개의 추가작업 그리고 1개의 파일을 삭제
  1. 0 1
      .classpath
  2. 35 0
      src/oram/Bucket.java

+ 0 - 1
.classpath

@@ -3,7 +3,6 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="test"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-	<classpathentry excluding="LookupTable/|Program/|YaoGC/AESComponents/|Test/|OT/|Utils/" kind="src" path="fastergc"/>
 	<classpathentry kind="lib" path="lib/bcprov-jdk15on-151.jar"/>
 	<classpathentry kind="lib" path="lib/commons-cli-1.2.jar"/>
 	<classpathentry kind="lib" path="lib/commons-io-2.4.jar"/>

+ 35 - 0
src/oram/Bucket.java

@@ -0,0 +1,35 @@
+package oram;
+
+public class Bucket {
+	private Tuple[] tuples;
+
+	public Tuple[] getTuples() {
+		return tuples;
+	}
+
+	public Tuple getTupleAt(int i) {
+		return tuples[i];
+	}
+
+	public byte[] toByteArray() {
+		// TODO: remove this firstTuple if has access to tree metadata
+		byte[] firstTuple = tuples[0].toByteArray();
+		int tupleBytes = firstTuple.length;
+		byte[] bucket = new byte[tupleBytes * tuples.length];
+		System.arraycopy(firstTuple, 0, bucket, 0, tupleBytes);
+		for (int i = 1; i < tuples.length; i++) {
+			byte[] tuple = tuples[i].toByteArray();
+			System.arraycopy(tuple, 0, bucket, i * tupleBytes, tupleBytes);
+		}
+		return bucket;
+	}
+
+	@Override
+	public String toString() {
+		String str = "Bucket:";
+		for (int i = 0; i < tuples.length; i++)
+			str += ("\n  " + tuples[i]);
+		return str;
+	}
+
+}