Github user phrocker commented on a diff in the pull request:
https://github.com/apache/nifi-minifi-cpp/pull/445#discussion_r235459513
--- Diff: libminifi/include/processors/ContentHash.h ---
@@ -0,0 +1,186 @@
+/**
+ * @file ContentHash.h
+ * ContentHash class declaration
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef NIFI_MINIFI_CPP_CONTENTHASH_H
+#define NIFI_MINIFI_CPP_CONTENTHASH_H
+
+#ifdef OPENSSL_SUPPORT
+
+#include <iomanip>
+#include <map>
+#include <memory>
+#include <string>
+#include <sstream>
+#include <utility>
+#include <stdint.h>
+
+#include <openssl/md5.h>
+#include <openssl/sha.h>
+
+#include "FlowFileRecord.h"
+#include "core/Processor.h"
+#include "core/ProcessSession.h"
+#include "core/Resource.h"
+#include "io/BaseStream.h"
+
+using HashReturnType = std::pair<std::string, int64_t>;
+
+namespace {
+#define HASH_BUFFER_SIZE 16384
+
+ std::string digestToString(const unsigned char * const digest, size_t
size) {
+ std::stringstream ss;
+ for(int i = 0; i < size; i++)
+ {
+ ss << std::uppercase << std::hex << std::setw(2) <<
std::setfill('0') << (int)digest[i];
+ }
+ return ss.str();
+ }
+
+ HashReturnType
MD5Hash(std::shared_ptr<org::apache::nifi::minifi::io::BaseStream> stream) {
--- End diff --
Is the ref count increment intentional?
---