[ https://issues.apache.org/jira/browse/MINIFI-339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16159280#comment-16159280 ]
ASF GitHub Bot commented on MINIFI-339: --------------------------------------- Github user achristianson commented on a diff in the pull request: https://github.com/apache/nifi-minifi-cpp/pull/134#discussion_r137861356 --- Diff: libminifi/include/c2/HeartBeatReporter.h --- @@ -0,0 +1,99 @@ +/** + * + * 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 LIBMINIFI_INCLUDE_C2_HEARTBEATREPORTER_H_ +#define LIBMINIFI_INCLUDE_C2_HEARTBEATREPORTER_H_ + +#include "C2Protocol.h" +#include "C2Payload.h" +#include "core/controller/ControllerServiceProvider.h" +#include "properties/Configure.h" +#include "core/Connectable.h" +namespace org { +namespace apache { +namespace nifi { +namespace minifi { +namespace c2 { + +/** + * Defines a heart beat reporting interface. Note that this differs from + * C2Protocol as heartbeats can be any interface which provides only one way communication. + */ +class HeartBeatReporter : public core::Connectable { + public: + + HeartBeatReporter(std::string name, uuid_t uuid) + : core::Connectable(name, uuid), controller_(nullptr), configuration_(nullptr) { + } + + virtual void initialize(const std::shared_ptr<core::controller::ControllerServiceProvider> &controller, const std::shared_ptr<Configure> &configure){ + controller_ = controller; + configuration_ = configure; + } + virtual ~HeartBeatReporter() { + } + /** + * Send a C2 payload to the provided URI. The direction indicates to the protocol whether or not this a transmit or receive operatin. --- End diff -- Minor typo. > Begin building controlling API to facilitate control of agents > -------------------------------------------------------------- > > Key: MINIFI-339 > URL: https://issues.apache.org/jira/browse/MINIFI-339 > Project: Apache NiFi MiNiFi > Issue Type: New Feature > Components: C++ > Reporter: marco polo > Assignee: marco polo > Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics > ** Throughput of of flow components > ** Execution time ( run time minus sleep time ) > ** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)