@Override public void setNextBuffer(Buffer buffer) throws IOException { currentBuffer = buffer; int offset = buffer.getMemorySegmentOffset(); MemorySegment segment = buffer.getMemorySegment(); int numBytes = buffer.getSize(); // check if some spanning record deserialization is pending if (this.spanningWrapper.getNumGatheredBytes() > 0) { this.spanningWrapper.addNextChunkFromMemorySegment(segment, offset, numBytes); } else { this.nonSpanningWrapper.initializeFromMemorySegment(segment, offset, numBytes + offset); } }
@Override public void setNextBuffer(Buffer buffer) throws IOException { currentBuffer = buffer; int offset = buffer.getMemorySegmentOffset(); MemorySegment segment = buffer.getMemorySegment(); int numBytes = buffer.getSize(); // check if some spanning record deserialization is pending if (this.spanningWrapper.getNumGatheredBytes() > 0) { this.spanningWrapper.addNextChunkFromMemorySegment(segment, offset, numBytes); } else { this.nonSpanningWrapper.initializeFromMemorySegment(segment, offset, numBytes + offset); } }
@Override public void setNextMemorySegment(MemorySegment segment, int numBytes) throws IOException { // check if some spanning record deserialization is pending if (this.spanningWrapper.getNumGatheredBytes() > 0) { this.spanningWrapper.addNextChunkFromMemorySegment(segment, numBytes); } else { this.nonSpanningWrapper.initializeFromMemorySegment(segment, 0, numBytes); } }
private void moveRemainderToNonSpanningDeserializer(NonSpanningWrapper deserializer) { deserializer.clear(); if (leftOverData != null) { deserializer.initializeFromMemorySegment(leftOverData, leftOverStart, leftOverLimit); } }
private void moveRemainderToNonSpanningDeserializer(NonSpanningWrapper deserializer) { deserializer.clear(); if (leftOverData != null) { deserializer.initializeFromMemorySegment(leftOverData, leftOverStart, leftOverLimit); } }
private void moveRemainderToNonSpanningDeserializer(NonSpanningWrapper deserializer) { deserializer.clear(); if (leftOverData != null) { deserializer.initializeFromMemorySegment(leftOverData, leftOverStart, leftOverLimit); } }