public ByteBuffer encode(Object[] values) { if (buf == null) { setBufferSize(DEFAULT_BUFFER_SIZE); } assert values.length == codec.getMeasuresCount(); while (true) { try { buf.clear(); for (int i = 0, pos = 0; i < codec.getMeasuresCount(); i++) { codec.encode(i, values[i], buf); measureSizes[i] = buf.position() - pos; pos = buf.position(); } return buf; } catch (BufferOverflowException boe) { if (buf.capacity() >= MAX_BUFFER_SIZE) throw boe; setBufferSize(buf.capacity() * 2); } } } }
public BufferedMeasureCodec createMeasureCodec() { DataType[] metricTypes = new DataType[aggrMetrics.trueBitCount()]; for (int i = 0; i < metricTypes.length; i++) { metricTypes[i] = info.getColumnType(aggrMetrics.trueBitAt(i)); } BufferedMeasureCodec codec = new BufferedMeasureCodec(metricTypes); codec.setBufferSize(info.getMaxColumnLength(aggrMetrics)); return codec; }
public ByteBuffer encode(Object[] values) { if (buf == null) { setBufferSize(DEFAULT_BUFFER_SIZE); } assert values.length == codec.getMeasuresCount(); while (true) { try { buf.clear(); for (int i = 0, pos = 0; i < codec.getMeasuresCount(); i++) { codec.encode(i, values[i], buf); measureSizes[i] = buf.position() - pos; pos = buf.position(); } return buf; } catch (BufferOverflowException boe) { if (buf.capacity() >= MAX_BUFFER_SIZE) throw boe; setBufferSize(buf.capacity() * 2); } } } }
public BufferedMeasureCodec createMeasureCodec() { DataType[] metricTypes = new DataType[aggrMetrics.trueBitCount()]; for (int i = 0; i < metricTypes.length; i++) { metricTypes[i] = info.getColumnType(aggrMetrics.trueBitAt(i)); } BufferedMeasureCodec codec = new BufferedMeasureCodec(metricTypes); codec.setBufferSize(info.getMaxColumnLength(aggrMetrics)); return codec; }