@Override public void rewind() { currentBuffer.rewind(); decodeFirst(); }
@Override public void setCurrentBuffer(ByteBuff buffer) { int onDiskSize = buffer.getInt(buffer.limit() - Bytes.SIZEOF_INT); // Data part ByteBuff dup = buffer.duplicate(); dup.position(buffer.position()); dup.limit(buffer.position() + onDiskSize); currentBuffer = dup.slice(); current.currentBuffer = currentBuffer; buffer.skip(onDiskSize); // Row offset rowNumber = buffer.getInt(); int totalRowOffsetsLength = Bytes.SIZEOF_INT * rowNumber; ByteBuff rowDup = buffer.duplicate(); rowDup.position(buffer.position()); rowDup.limit(buffer.position() + totalRowOffsetsLength); rowOffsets = rowDup.slice(); decodeFirst(); }
@Override public void rewind() { currentBuffer.rewind(); decodeFirst(); }
@Override public void rewind() { currentBuffer.rewind(); decodeFirst(); }
@Override public void setCurrentBuffer(ByteBuff buffer) { int onDiskSize = buffer.getInt(buffer.limit() - Bytes.SIZEOF_INT); // Data part ByteBuff dup = buffer.duplicate(); dup.position(buffer.position()); dup.limit(buffer.position() + onDiskSize); currentBuffer = dup.slice(); current.currentBuffer = currentBuffer; buffer.skip(onDiskSize); // Row offset rowNumber = buffer.getInt(); int totalRowOffsetsLength = Bytes.SIZEOF_INT * rowNumber; ByteBuff rowDup = buffer.duplicate(); rowDup.position(buffer.position()); rowDup.limit(buffer.position() + totalRowOffsetsLength); rowOffsets = rowDup.slice(); decodeFirst(); }
@Override public void setCurrentBuffer(ByteBuff buffer) { int onDiskSize = buffer.getInt(buffer.limit() - Bytes.SIZEOF_INT); // Data part ByteBuff dup = buffer.duplicate(); dup.position(buffer.position()); dup.limit(buffer.position() + onDiskSize); currentBuffer = dup.slice(); current.currentBuffer = currentBuffer; buffer.skip(onDiskSize); // Row offset rowNumber = buffer.getInt(); int totalRowOffsetsLength = Bytes.SIZEOF_INT * rowNumber; ByteBuff rowDup = buffer.duplicate(); rowDup.position(buffer.position()); rowDup.limit(buffer.position() + totalRowOffsetsLength); rowOffsets = rowDup.slice(); decodeFirst(); }