docs: private long readLong(ByteBuf chars, int length) {
          long result = 0;
          for (int i = chars.readerIndex(); i < chars.readerIndex() + length; i++) {
              int digit = ((int)chars.getByte(i) & 0xF);
              for (int j = 0; j < chars.readerIndex() + length-1-i; j++) {
                  digit *= 10;
              }
              result += digit;
          }
          chars.readerIndex(chars.readerIndex() + length);
          return result;
      }