/** * Reads a 64-bit Unsigned Long from the given byte array starting at the given position. This value must have been * serialized using {@link #writeUnsignedLong} for proper results. This method is not interoperable with {@link #writeLong}. * * @param source The byte array to read from. * @param position The position in the byte array to start reading at. * @return The read number. */ public static long readUnsignedLong(ArrayView source, int position) { return readLong(source, position) ^ Long.MIN_VALUE; } }
private long deserializeCacheValue(byte[] input, int inputOffset) { return BitConverter.readLong(input, inputOffset); }
private long deserializePointerMinOffset(ByteArraySegment serialization) { return BitConverter.readLong(serialization, Long.BYTES + Short.BYTES); }
private long getRootPageOffset(ByteArraySegment footer) { return BitConverter.readLong(footer, 0); }
protected UUID toUUID(byte[] rawHash) { assert rawHash.length == HASH_SIZE_BYTES; long msb = BitConverter.readLong(rawHash, 0); long lsb = BitConverter.readLong(rawHash, Long.BYTES); if (msb == TableBucket.CORE_ATTRIBUTE_PREFIX) { msb++; } else if (msb == TableBucket.BACKPOINTER_PREFIX) { msb--; } return new UUID(msb, lsb); }
/** * Creates a new instance of the CacheKey class from the given serialization. * * @param serialization The serialization of the key. */ @VisibleForTesting CacheKey(byte[] serialization) { Preconditions.checkNotNull(serialization, "serialization"); Preconditions.checkArgument(serialization.length == SERIALIZATION_LENGTH, "Invalid serialization length."); this.streamSegmentId = BitConverter.readLong(serialization, 0); this.offset = BitConverter.readLong(serialization, Long.BYTES); }
@VisibleForTesting CacheKey(byte[] serialization) { Preconditions.checkNotNull(serialization, "serialization"); Preconditions.checkArgument(serialization.length == SERIALIZATION_LENGTH, "Invalid serialization length."); this.segmentId = BitConverter.readLong(serialization, 0); this.offset = BitConverter.readLong(serialization, Long.BYTES); }
private long deserializeValue(ByteArraySegment value) { Preconditions.checkArgument(value.getLength() == VALUE_LENGTH, "Unexpected value length."); return BitConverter.readLong(value, 0); }
private long deserializeLong(ByteArraySegment serialized) { return BitConverter.readLong(serialized, 0); }
@Override public CompletableFuture<Long> getColdMarker(long segmentId) { return getMarkerData(segmentId) .thenApply(x -> (x != null) ? BitConverter.readLong(x.getData(), 0) : 0L); }
@Override public CompletableFuture<Long> getCreationTime() { return cache.getCachedData(creationPath) .thenApply(data -> BitConverter.readLong(data.getData(), 0)); }
public static Int96 fromBytes(byte[] b) { int msb = BitConverter.readInt(b, 0); long lsb = BitConverter.readLong(b, Integer.BYTES); return new Int96(msb, lsb); }
private PagePointer deserializePointer(ByteArraySegment serialization, ByteArraySegment pageKey) { long pageOffset = BitConverter.readLong(serialization, 0); int pageLength = BitConverter.readShort(serialization, Long.BYTES); long minOffset = deserializePointerMinOffset(serialization); return new PagePointer(pageKey, pageOffset, pageLength, minOffset); }
this.startTime = BitConverter.readLong(source, sourceOffset); sourceOffset += START_TIME_LENGTH;