@Override
    public byte[] readByteArray() throws IOException {
        final int length = readRawVarInt32();
        if (length < 0) {
            throw ProtocolException.negativeSize();
        }

        if (nioBuffer.remaining() < length) {
            throw ProtocolException.misreportedSize();
        }

        final byte[] copy = new byte[length];
        int position = nioBuffer.position();
        UnsafeDirectBufferUtil.getBytes(address(position), copy, 0, length);
        BufferUtils.position(nioBuffer, position + length);
        return copy;
    }
Read an {@code sint64} field value from the internal buffer.
jraft-rheakv/rheakv-core/src/main/java/com/alipay/sofa/jraft/rhea/serialization/impl/protostuff/io/UnsafeNioBufInput.java