Description
if (buf.hasArray()) { cis = CodedInputStream.newInstance(buf.array(), offset, buf.limit()); } else {
Currently we do this for onheap buffers incase there is no reservoir or the size is less than the minSizeforReservoir. I could see that even if reservoir is there there are requests which goes with the above way of creating CIS. This could be made efficient to avoid underlying copies by just doing this
cis = UnsafeByteOperations.unsafeWrap(buf.array(), offset, buf.limit()).newCodedInput();