phrocker commented on a change in pull request #590: MINIFICPP-621 Nanofi 
Tailfile example
URL: https://github.com/apache/nifi-minifi-cpp/pull/590#discussion_r293762235
 
 

 ##########
 File path: nanofi/examples/tail_file.c
 ##########
 @@ -0,0 +1,257 @@
+/*
+ * 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.
+*/
+
+#include "api/nanofi.h"
+#include "core/string_utils.h"
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <limits.h>
+#include <signal.h>
+#include <sys/stat.h>
+
+typedef struct flow_file_records {
+    flow_file_record ** records;
+    uint64_t len;
+} flow_file_records;
+
+struct flow_file_records * flowfiles = NULL;
+nifi_instance * instance = NULL;
+standalone_processor * proc = NULL;
+int file_offset = 0;
+int stopped = 0;
+
+void signal_handler(int signum) {
+    if (signum == SIGINT || signum == SIGTERM) {
+        stopped = 1;
+    }
+}
+
+void transmit_flow_files(nifi_instance * instance) {
+    NULL_CHECK( ,flowfiles);
+    int i;
+    for (i = 0; i < flowfiles->len; ++i) {
+        NULL_CHECK( ,flowfiles->records[i]);
 
 Review comment:
   This seems like a case where a NULL_CHECK would indicate a bug somewhere in 
our or the implementation of this library. That seems to indicate we really 
should be performing an assertion. This function seems to also exist within 
comms.h "transmit_to_nifi".  Can create a follow on -- but there is a "blocks" 
directory for some of our code deemed as building blocks but not part of the 
primary API, some of the code here that is useful for other programs like this 
can be placed there. Further, can we move this from example to a directory 
named, "ECU". Eventually we can break that out into a separate entity. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to