@Override public void getBytes(final long l, final byte[] bytes) { getBytes(l, bytes, 0, bytes.length); }
private void refillBuffer(long offset) throws IOException { bufferLen = (int)Math.min(buffer.length, memory.length() - offset); if (bufferLen > 0) { memory.getBytes(offset, buffer, 0, bufferLen); } bufferOffset = offset; bufferPtr = 0; } }
private void refillBuffer(final long offset) throws IOException { bufferLen = (int)Math.min(buffer.length, memory.length() - offset); if (bufferLen > 0) { memory.getBytes(offset, buffer, 0, bufferLen); } bufferOffset = offset; bufferPtr = 0; }
private void refillBuffer(final long offset) throws IOException { bufferLen = (int)Math.min(buffer.length, memory.length() - offset); if (bufferLen > 0) { memory.getBytes(offset, buffer, 0, bufferLen); } bufferOffset = offset; bufferPtr = 0; }
@Override public void getBytes(long l, Memory dest) { getBytes(l, dest, 0, dest.length()); }
public void getBytes(long l, DirectMemory dest) { getBytes(l, dest, 0, dest.length()); }
@Override public void getBytes(long l, ByteBuffer dest) { final int length = dest.remaining(); checkBounds(l, length); if (dest.isDirect()) { NativeMemoryUtils.copyToDirectBuffer(address+l, dest, dest.position(), length); dest.position(dest.position()+length); } else if (dest.hasArray()) { final byte[] array = dest.array(); final int offset = dest.arrayOffset(); getBytes(l, array, offset+dest.position(), length); dest.position(dest.position()+length); } else { final byte[] copyBuffer = new byte[Math.min(length, 4096)]; long sourceAddr = l; while (dest.remaining() > 0) { final int copySize = Math.min(copyBuffer.length, dest.remaining()); getBytes(sourceAddr, copyBuffer, 0, copySize); dest.put(copyBuffer, 0, copySize); sourceAddr+=copySize; } } }
@Override public void getBytes(long l, Memory dest, long start, long length) { if (dest.isDirect()) { getBytes(l, (DirectMemory) dest, start, length); } else { dest.putBytes(start, this, l, length); } }
public static @Nullable byte[] getMetadata(File file) throws IOException { final long length = file.length(); final MMapBuffer buffer = new MMapBuffer(file, 0, length, FileChannel.MapMode.READ_ONLY, ByteOrder.BIG_ENDIAN); final DirectMemory memory = buffer.memory(); final int metadataLength = memory.getInt(length - 12); if (metadataLength == Integer.MAX_VALUE) return null; final byte[] metadata = new byte[metadataLength]; memory.getBytes(length-12-metadataLength, metadata); return metadata; }
public static @Nullable byte[] getMetadata(File file) throws IOException { final long length = file.length(); final MMapBuffer buffer = new MMapBuffer(file, 0, length, FileChannel.MapMode.READ_ONLY, ByteOrder.BIG_ENDIAN); final DirectMemory memory = buffer.memory(); final int metadataLength = memory.getInt(length - 12); if (metadataLength == Integer.MAX_VALUE) return null; final byte[] metadata = new byte[metadataLength]; memory.getBytes(length-12-metadataLength, metadata); return metadata; }
final long sourceOffset = offsets[(int) (i - start)]; final int sourceSize = sizesMemory.getInt(i * 4); memory.getBytes(sourceOffset, tmpBuf, 0, sourceSize); out.write(tmpBuf, 0, sourceSize);
if (offsets == null && data.memory().length() < maxDataHeap) { final byte[] rawData = new byte[(int) data.memory().length()]; data.memory().getBytes(0, rawData); data.close(); return new TableReader<>(meta, rawData);