@Override public final String readUTF() throws IOException { final int utflen = readUnsignedShort(); int chararr_count = 0; readFully(bytearr, 0, utflen);
@Override public final float readFloat() throws IOException { return Float.intBitsToFloat(readInt()); }
@Override public final double readDouble() throws IOException { return Double.longBitsToDouble(readLong()); }
int nonSpanningRemaining = this.nonSpanningWrapper.remaining(); int len = this.nonSpanningWrapper.readInt(); return (this.nonSpanningWrapper.remaining() == 0) ? DeserializationResult.LAST_RECORD_FROM_BUFFER : DeserializationResult.INTERMEDIATE_RECORD_FROM_BUFFER; this.nonSpanningWrapper.clear(); return DeserializationResult.PARTIAL_RECORD; this.nonSpanningWrapper.clear(); return DeserializationResult.PARTIAL_RECORD; this.spanningWrapper.clear(); return (this.nonSpanningWrapper.remaining() == 0) ? DeserializationResult.LAST_RECORD_FROM_BUFFER : DeserializationResult.INTERMEDIATE_RECORD_FROM_BUFFER;
@Override public final String readLine() throws IOException { final StringBuilder bld = new StringBuilder(32); try { int b; while ((b = readUnsignedByte()) != '\n') { if (b != '\r') { bld.append((char) b); } } } catch (EOFException eofex) {} if (bld.length() == 0) { return null; } // trim a trailing carriage return int len = bld.length(); if (len > 0 && bld.charAt(len - 1) == '\r') { bld.setLength(len - 1); } return bld.toString(); }
@Override public final boolean readBoolean() throws IOException { return readByte() == 1; }
@Override public final void readFully(byte[] b) throws IOException { readFully(b, 0, b.length); }
@Override public int read(byte[] b) throws IOException { return read(b, 0, b.length); } }
private void moveRemainderToNonSpanningDeserializer(NonSpanningWrapper deserializer) { deserializer.clear(); if (leftOverData != null) { deserializer.initializeFromMemorySegment(leftOverData, leftOverStart, leftOverLimit); } }
public AdaptiveSpanningRecordDeserializer() { this.nonSpanningWrapper = new NonSpanningWrapper(); this.spanningWrapper = new SpanningWrapper(); }
@Override public void clear() { this.nonSpanningWrapper.clear(); this.spanningWrapper.clear(); }
@Override public final int readUnsignedByte() throws IOException { return readByte() & 0xff; }
@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); } }