private static DrillBuf combineBuffers( final BufferAllocator allocator, final DrillBuf[] buffers) { // find the total size we'll need int size = 0; for (final DrillBuf buffer : buffers) { size += buffer.readableBytes(); } // create the new buffer final DrillBuf newBuf = allocator.buffer(size); final DrillBuf writeBuf = newBuf; for (final DrillBuf buffer : buffers) { final DrillBuf readBuf = (DrillBuf) buffer.slice(); final int nBytes = readBuf.readableBytes(); final byte[] bytes = new byte[nBytes]; readBuf.readBytes(bytes); writeBuf.writeBytes(bytes); } return newBuf; }
public long getByteCount() { return body == null ? 0 : body.readableBytes(); }