Mercurial > hg > blitz_stable
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 } |