[
https://issues.apache.org/jira/browse/MINIFI-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15752325#comment-15752325
]
ASF GitHub Bot commented on MINIFI-159:
---------------------------------------
Github user apiri commented on a diff in the pull request:
https://github.com/apache/nifi-minifi-cpp/pull/27#discussion_r92678796
--- Diff: libminifi/src/AppendHostInfo.cpp ---
@@ -0,0 +1,89 @@
+/**
+ * @file AppendHostInfo.cpp
+ * AppendHostInfo class implementation
+ *
+ * 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 <set>
+#include <sys/time.h>
+#include <string.h>
+#include "AppendHostInfo.h"
+#include "ProcessContext.h"
+#include "ProcessSession.h"
+
+#include <netdb.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <arpa/inet.h>
+
+const std::string AppendHostInfo::ProcessorName("AppendHostInfo");
+Property AppendHostInfo::InterfaceName("Network Interface Name", "Network
interface from which to read an IP v4 address", "eth0");
+Property AppendHostInfo::HostAttribute("Hostname Attribute", "Flowfile
attribute to used to record the agent's hostname", "source.hostname");
+Property AppendHostInfo::IPAttribute("IP Attribute", "Flowfile attribute
to used to record the agent's IP address", "source.ipv4");
+Relationship AppendHostInfo::Success("success", "success operational on
the flow record");
+
+void AppendHostInfo::initialize()
+{
+ //! Set the supported properties
+ std::set<Property> properties;
+ properties.insert(InterfaceName);
+ properties.insert(HostAttribute);
+ properties.insert(IPAttribute);
+ setSupportedProperties(properties);
+
+ //! Set the supported relationships
+ std::set<Relationship> relationships;
+ relationships.insert(Success);
+ setSupportedRelationships(relationships);
+}
+
+void AppendHostInfo::onTrigger(ProcessContext *context, ProcessSession
*session)
+{
+ FlowFileRecord *flow = session->get();
+ if (!flow)
+ return;
+
+ //Get Hostname
+ char hostname[1024];
--- End diff --
Is there a reason 1024 is used? By spec, it is no more than 255 but may be
lower depending on OS implementation. limits.h has a HOST_NAME_MAX that
contains this to get more precision on this instantiation
> Create AppendHostInfo processor
> -------------------------------
>
> Key: MINIFI-159
> URL: https://issues.apache.org/jira/browse/MINIFI-159
> Project: Apache NiFi MiNiFi
> Issue Type: Bug
> Components: C++, Extensions
> Reporter: Randy Gelhausen
>
> Downstream consumers of data produced by nifi-minifi agents often need to
> route FlowFiles based on hostname or IP of the machine running the agent.
> nifi-minifi-cpp needs an AppendHostInfo processor which reads its' hostname
> and IPv4 address for a specified network interface.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)