@Override public void serialize(GTScanRequest value, ByteBuffer out) { GTInfo.serializer.serialize(value.info, out); BytesUtil.writeVInt(value.ranges.size(), out); for (GTScanRange range : value.ranges) { serializeGTRecord(range.pkStart, out); serializeGTRecord(range.pkEnd, out); BytesUtil.writeVInt(range.fuzzyKeys.size(), out); for (GTRecord f : range.fuzzyKeys) { serializeGTRecord(f, out); } } ImmutableBitSet.serializer.serialize(value.columns, out); BytesUtil.writeByteArray(GTUtil.serializeGTFilter(value.filterPushDown, value.info), out); ImmutableBitSet.serializer.serialize(value.aggrGroupBy, out); ImmutableBitSet.serializer.serialize(value.aggrMetrics, out); BytesUtil.writeAsciiStringArray(value.aggrMetricsFuncs, out); BytesUtil.writeVInt(value.allowStorageAggregation ? 1 : 0, out); out.putDouble(value.aggCacheMemThreshold); BytesUtil.writeVInt(value.storageScanRowNumThreshold, out); BytesUtil.writeVInt(value.storagePushDownLimit, out); BytesUtil.writeVLong(value.startTime, out); BytesUtil.writeVLong(value.timeout, out); BytesUtil.writeUTFString(value.storageBehavior, out); }
@Override public void serialize(GTScanRequest value, ByteBuffer out) { GTInfo.serializer.serialize(value.info, out); BytesUtil.writeVInt(value.ranges.size(), out); for (GTScanRange range : value.ranges) { serializeGTRecord(range.pkStart, out); serializeGTRecord(range.pkEnd, out); BytesUtil.writeVInt(range.fuzzyKeys.size(), out); for (GTRecord f : range.fuzzyKeys) { serializeGTRecord(f, out); } } ImmutableBitSet.serializer.serialize(value.columns, out); BytesUtil.writeByteArray(GTUtil.serializeGTFilter(value.filterPushDown, value.info), out); ImmutableBitSet.serializer.serialize(value.aggrGroupBy, out); ImmutableBitSet.serializer.serialize(value.aggrMetrics, out); BytesUtil.writeAsciiStringArray(value.aggrMetricsFuncs, out); BytesUtil.writeVInt(value.allowPreAggregation ? 1 : 0, out); out.putDouble(value.aggrCacheGB); }