byte[] input = CBUtil.readRawBytes(frame.body);
int maxCompressedLength = compressor.maxCompressedLength(input.length);
ByteBuf outputBuf = CBUtil.onHeapAllocator.buffer(INTEGER_BYTES + maxCompressedLength);
byte[] output = outputBuf.array();
int outputOffset = outputBuf.arrayOffset();
output[outputOffset + 0] = (byte) (input.length >>> 24);
output[outputOffset + 1] = (byte) (input.length >>> 16);
output[outputOffset + 2] = (byte) (input.length >>> 8);