comparison src/org/dancres/blitz/entry/LeaseRecordUtils.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:3dc0c5604566
1 package org.dancres.blitz.entry;
2
3 import org.dancres.util.BytePacker;
4 import org.dancres.blitz.oid.OIDFactory;
5
6 class LeaseRecordUtils {
7 static boolean isKey(byte[] anEntry, byte[] aPackedOid) {
8 for (int i = 0; i < aPackedOid.length; i++) {
9 if (anEntry[8 + i] != aPackedOid[i])
10 return false;
11 }
12
13 return true;
14 }
15
16 static byte[] getLeaseEntry(PersistentEntry anEntry) {
17 byte[] myEntry = new byte[8 + OIDFactory.KEY_SIZE];
18 BytePacker myPacker = BytePacker.getMSBPacker(myEntry);
19
20 myPacker.putLong(anEntry.getExpiry(), 0);
21 myPacker.putArray(anEntry.getKey(), 8);
22
23 // dumpHex("leaseentry", myEntry);
24
25 return myEntry;
26 }
27
28 static byte[] getId(PersistentEntry anEntry) {
29 // dumpHex("getSleeveKey", aSleeve.getKey());
30
31 return anEntry.getKey();
32 }
33
34 static byte[] getBucketKey(PersistentEntry anEntry) {
35 return getBucketKey(anEntry.getOID().getZoneId());
36 }
37
38 static byte[] getBucketKey(int anId) {
39 byte[] myKey = new byte[4];
40 BytePacker myPacker = BytePacker.getMSBPacker(myKey);
41 myPacker.putInt(anId, 0);
42
43 // dumpHex("bucketKey", myKey);
44
45 return myKey;
46 }
47
48 static long unpackExpiry(byte[] aLeaseRecord) {
49 BytePacker myPacker = BytePacker.getMSBPacker(aLeaseRecord);
50
51 // System.err.println("Unpack expiry: " + myPacker.getLong(0));
52
53 return myPacker.getLong(0);
54 }
55
56 static byte[] unpackId(byte[] aLeaseRecord) {
57 BytePacker myPacker = BytePacker.getMSBPacker(aLeaseRecord);
58
59 // System.err.println("Unpack id: " + myPacker.getLong(8));
60
61 return myPacker.getArray(8, OIDFactory.KEY_SIZE);
62 }
63
64 private static void dumpHex(String aTitle, byte[] anArray) {
65 System.err.println();
66 System.err.println(aTitle);
67 for (int i = 0; i < anArray.length; i++) {
68 System.err.print(Integer.toHexString(anArray[i]) + " ");
69 }
70
71 System.err.println();
72 }
73 }