@Override public short readPackedShort() { short result = (short)readPackedInt(this); assert(storeMostRecentPacked(result)); return result; }
@Override public short readPackedShort() { short result = (short)readPackedInt(this); assert(storeMostRecentPacked(result)); return result; }
/** * Parse a 64 bit signed value */ @Override public long readPackedLong() { long result = readPackedLong(this); assert(storeMostRecentPacked(result)); return result; }
@Override public int readPackedInt() { int result = readPackedInt(this); assert(storeMostRecentPacked(result)); return result; }
@Override public int readPackedInt() { int result = readPackedInt(this); assert(storeMostRecentPacked(result)); return result; }
@Override public short readPackedShort() { short result = (short)readPackedInt(this); assert(storeMostRecentPacked(result)); return result; }
/** * Parse a 64 bit signed value */ @Override public long readPackedLong() { long result = readPackedLong(this); assert(storeMostRecentPacked(result)); return result; }
/** * Parse a 64 bit signed value */ @Override public long readPackedLong() { long result = readPackedLong(this); assert(storeMostRecentPacked(result)); return result; }
public static <A extends Appendable, S extends MessageSchema<S>> A readUTF(DataInputBlobReader<S> reader, int length, A target) throws IOException { if (length>=0) { assert(reader.storeMostRecentPacked(-1)); long charAndPos = ((long)reader.position)<<32; long limit = ((long)reader.position+length)<<32; while (charAndPos<limit) { charAndPos = Pipe.decodeUTF8Fast(reader.backing, charAndPos, reader.byteMask); target.append((char)charAndPos); } reader.position+=length; } return target; }
@Override public int readPackedInt() { int result = readPackedInt(this); assert(storeMostRecentPacked(result)); return result; }
public static <A extends Appendable, S extends MessageSchema<S>> A readUTF(DataInputBlobReader<S> reader, int length, A target) throws IOException { if (length>=0) { assert(reader.storeMostRecentPacked(-1)); long charAndPos = ((long)reader.position)<<32; long limit = ((long)reader.position+length)<<32; while (charAndPos<limit) { charAndPos = Pipe.decodeUTF8Fast(reader.backing, charAndPos, reader.byteMask); target.append((char)charAndPos); } reader.position+=length; } return target; }
@Override public long readDecimalAsLong() { //packed nulls will appear as zero in this case. long m = readPackedLong(); assert(storeMostRecentPacked(m)); return Decimal.asLong(m, readByte()); }
@Override public <A extends Appendable> A readDecimalAsText(A target) { long m = readPackedLong(); assert(storeMostRecentPacked(m)); return Appendables.appendDecimalValue(target, m, readByte()); }
@Override public long readDecimalAsLong() { //packed nulls will appear as zero in this case. long m = readPackedLong(); assert(storeMostRecentPacked(m)); return Decimal.asLong(m, readByte()); }
@Override public long readDecimalAsLong() { //packed nulls will appear as zero in this case. long m = readPackedLong(); assert(storeMostRecentPacked(m)); return Decimal.asLong(m, readByte()); }
@Override public <A extends Appendable> A readDecimalAsText(A target) { long m = readPackedLong(); assert(storeMostRecentPacked(m)); return Appendables.appendDecimalValue(target, m, readByte()); }
@Override public double readDecimalAsDouble() { long m = readPackedLong(); assert(storeMostRecentPacked(m)); if (0!=m) { return Decimal.asDouble(m, readByte()); } else { position++;//must consume last byte (not needed); return wasPackedNull() ? Double.NaN: 0; } }
@Override public double readDecimalAsDouble() { long m = readPackedLong(); assert(storeMostRecentPacked(m)); if (0!=m) { return Decimal.asDouble(m, readByte()); } else { position++;//must consume last byte (not needed); return wasPackedNull() ? Double.NaN: 0; } }
@Override public double readDecimalAsDouble() { long m = readPackedLong(); assert(storeMostRecentPacked(m)); if (0!=m) { return Decimal.asDouble(m, readByte()); } else { position++;//must consume last byte (not needed); return wasPackedNull() ? Double.NaN: 0; } }
private void visitSingleDecimal(StructDecimalListener visitor, int totalCount, final int[] curPos, final int[] curSize, int c) { long m = channelReader.readPackedLong(); assert(channelReader.storeMostRecentPacked(m)); if (0!=m) { visitor.value(channelReader.readByte(), m, false, curPos, curSize, c, totalCount); } else { if (!channelReader.wasPackedNull()) { visitor.value(channelReader.readByte(), m, false, curPos, curSize, c, totalCount); } else { visitor.value((byte)0, 0, true, null, null, 0, 0); channelReader.readByte(); } } }