@GwtIncompatible // Shorts.fromByteArray public void testFromByteArray() { assertEquals((short) 0x2345, Shorts.fromByteArray(new byte[] {0x23, 0x45})); assertEquals((short) 0xFEDC, Shorts.fromByteArray(new byte[] {(byte) 0xFE, (byte) 0xDC})); }
@GwtIncompatible // Shorts.fromByteArray, Shorts.toByteArray public void testByteArrayRoundTrips() { Random r = new Random(5); byte[] b = new byte[Shorts.BYTES]; // total overkill, but, it takes 0.1 sec so why not... for (int i = 0; i < 10000; i++) { short num = (short) r.nextInt(); assertEquals(num, Shorts.fromByteArray(Shorts.toByteArray(num))); r.nextBytes(b); assertTrue(Arrays.equals(b, Shorts.toByteArray(Shorts.fromByteArray(b)))); } }
@GwtIncompatible // Shorts.fromByteArray public void testFromByteArrayFails() { try { Shorts.fromByteArray(new byte[] {0x01}); fail(); } catch (IllegalArgumentException expected) { } }
@Override public Short fromByteArray(final byte[] bytes) { final short value = Shorts.fromByteArray(bytes); return (short) (value ^ 0x8000); }
public static short toShort( @NotNull final UnsignedByteArray bytes) { if (bytes.length() != Shorts.BYTES) throw new IllegalArgumentException("Wrong length"); return (short) (Shorts.fromByteArray(bytes.data) ^ Short.MIN_VALUE); }
@Override public short getShort(final int index) { final byte[] byteArray = getByteArray(index, 2); return Shorts.fromByteArray(byteArray); }
public static short toShort( @NotNull final UnsignedByteArray bytes) { if (bytes.length() != Shorts.BYTES) throw new IllegalArgumentException("Wrong length"); return (short) (Shorts.fromByteArray(bytes.data) ^ Short.MIN_VALUE); }
@Override public final short getShort() { byte[] value = new byte[2]; get(value, 0, value.length); return Shorts.fromByteArray(value); }
public short getElapsedTime() { return Shorts.fromByteArray(getData()); } }
@Nonnegative public int getShortValue() { return Shorts.fromByteArray(getData()) & 0xFFFF; }
public void printOwners(java.io.PrintStream ps) { ps.println("OWNERS"); ps.println("======"); final DatabaseEntry key = new DatabaseEntry(); final DatabaseEntry value = new DatabaseEntry(); try (Cursor cursor = ownerDirectory.openCursor(null, CursorConfig.DEFAULT)) { while (cursor.getNext(key, value, LockMode.DEFAULT) == OperationStatus.SUCCESS) { long id = Longs.fromByteArray(key.getData()); short owner = Shorts.fromByteArray(value.getData()); ps.println("Id : " + hex(id) + " owner: " + owner + ""); } } }
@GwtIncompatible // Shorts.fromByteArray public void testFromByteArray() { assertEquals((short) 0x2345, Shorts.fromByteArray(new byte[] {0x23, 0x45})); assertEquals((short) 0xFEDC, Shorts.fromByteArray( new byte[] {(byte) 0xFE, (byte) 0xDC})); }
public void printOwnerIndex(java.io.PrintStream ps) { ps.println("OWNER INDEX"); ps.println("==========="); final DatabaseEntry sKey = new DatabaseEntry(); final DatabaseEntry pKey = new DatabaseEntry(); final DatabaseEntry value = new DatabaseEntry(); try (SecondaryCursor cursor = ownerIndex.openCursor(null, CursorConfig.DEFAULT)) { while (cursor.getNext(sKey, pKey, value, LockMode.DEFAULT) == OperationStatus.SUCCESS) { long id = Longs.fromByteArray(pKey.getData()); short owner = Shorts.fromByteArray(sKey.getData()); ps.println("Owner: " + owner + " id : " + hex(id)); } } }
@GwtIncompatible // Shorts.fromByteArray, Shorts.toByteArray public void testByteArrayRoundTrips() { Random r = new Random(5); byte[] b = new byte[Shorts.BYTES]; // total overkill, but, it takes 0.1 sec so why not... for (int i = 0; i < 10000; i++) { short num = (short) r.nextInt(); assertEquals(num, Shorts.fromByteArray(Shorts.toByteArray(num))); r.nextBytes(b); assertTrue(Arrays.equals(b, Shorts.toByteArray(Shorts.fromByteArray(b)))); } }
@GwtIncompatible // Shorts.fromByteArray public void testFromByteArrayFails() { try { Shorts.fromByteArray(new byte[] {0x01}); fail(); } catch (IllegalArgumentException expected) { } }
@Override public short findAllocation(long ref) { final DatabaseEntry key = new DatabaseEntry(); final DatabaseEntry data = new DatabaseEntry(); try (Cursor cursor = allocationDirectory.openCursor(null, CursorConfig.DEFAULT)) { OperationStatus retVal = cursor.getSearchKeyRange(key, data, null); if (retVal == OperationStatus.SUCCESS) { ownerDirectory.put(null, key, SERVER); return Shorts.fromByteArray(data.getData()); } else if (retVal == OperationStatus.NOTFOUND) return (short) -1; throw new AssertionError(); } }
final short curOldNode = Shorts.fromByteArray(value.getData()); if (LOG.isDebugEnabled()) LOG.debug("CAS owner of {}: current old node: {} wanted old node: {}", new Object[]{hex(id), curOldNode, oldNode});