@Test public void test() { ByteBuffer buffer = ByteBuffer.allocate(10000); int[] x = new int[] { 1, 2, 3 }; BytesUtil.writeIntArray(x, buffer); buffer.flip(); byte[] buf = new byte[buffer.limit()]; System.arraycopy(buffer.array(), 0, buf, 0, buffer.limit()); ByteBuffer newBuffer = ByteBuffer.wrap(buf); int[] y = BytesUtil.readIntArray(newBuffer); assertEquals(y[2], 3); }
@Override public TableRecordInfoDigest deserialize(ByteBuffer in) { TableRecordInfoDigest result = new TableRecordInfoDigest(); result.nColumns = BytesUtil.readVInt(in); result.byteFormLen = BytesUtil.readVInt(in); result.offsets = BytesUtil.readIntArray(in); result.dictMaxIds = BytesUtil.readIntArray(in); result.lengths = BytesUtil.readIntArray(in); result.isMetric = BytesUtil.readBooleanArray(in); result.measureSerializers = new FixedLenMeasureCodec<?>[result.nColumns]; for (int i = 0; i < result.nColumns; ++i) { String typeStr = BytesUtil.readAsciiString(in); if (typeStr == null) { result.measureSerializers[i] = null; } else { result.measureSerializers[i] = FixedLenMeasureCodec .get(DataType.getInstance(typeStr)); } } return result; }
@Test public void test() { ByteBuffer buffer = ByteBuffer.allocate(10000); int[] x = new int[] { 1, 2, 3 }; BytesUtil.writeIntArray(x, buffer); buffer.flip(); byte[] buf = new byte[buffer.limit()]; System.arraycopy(buffer.array(), 0, buf, 0, buffer.limit()); ByteBuffer newBuffer = ByteBuffer.wrap(buf); int[] y = BytesUtil.readIntArray(newBuffer); assertEquals(y[2], 3); }
@Override public TableRecordInfoDigest deserialize(ByteBuffer in) { TableRecordInfoDigest result = new TableRecordInfoDigest(); result.nColumns = BytesUtil.readVInt(in); result.byteFormLen = BytesUtil.readVInt(in); result.offsets = BytesUtil.readIntArray(in); result.dictMaxIds = BytesUtil.readIntArray(in); result.lengths = BytesUtil.readIntArray(in); result.isMetric = BytesUtil.readBooleanArray(in); result.metricDataTypes = BytesUtil.readAsciiStringArray(in); return result; }