[ 
https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16173163#comment-16173163
 ] 

ASF GitHub Bot commented on MINIFICPP-36:
-----------------------------------------

Github user phrocker commented on a diff in the pull request:

    https://github.com/apache/nifi-minifi-cpp/pull/134#discussion_r139965480
  
    --- Diff: libminifi/include/core/Processor.h ---
    @@ -212,19 +217,35 @@ class Processor : public Connectable, public 
ConfigurableComponent, public std::
      public:
     
       // OnTrigger method, implemented by NiFi Processor Designer
    +  virtual void onTrigger(std::shared_ptr<ProcessContext> context, 
std::shared_ptr<ProcessSession> session){
    +    onTrigger(context.get(),session.get());
    +  }
       virtual void onTrigger(ProcessContext *context, ProcessSession *session) 
= 0;
       // Initialize, overridden by NiFi Process Designer
       virtual void initialize() {
       }
       // Scheduled event hook, overridden by NiFi Process Designer
    +  virtual void onSchedule(std::shared_ptr<ProcessContext> context, 
std::shared_ptr<ProcessSessionFactory> sessionFactory){
    +    onSchedule(context.get(),sessionFactory.get());
    +  }
       virtual void onSchedule(ProcessContext *context, ProcessSessionFactory 
*sessionFactory) {
       }
     
       // Check all incoming connections for work
       bool isWorkAvailable();
     
    +  void setStreamFactory(std::shared_ptr<minifi::io::StreamFactory> 
stream_factory) {
    --- End diff --
    
    There is a use case in the event that C2 were to change the communication 
mechanism and only the communication mechanism we can do that without updating 
the entire flow. That can be tantamount to changing from TLS to non secure 
sockets or vice versa if the need arises. I didn't include those capabilities 
in this PR but played with it...and that's something we should discuss 
globally. That may not be a capability we want to support, but it's one that 
was previously discussed. 


> Begin building controlling API to facilitate control of agents
> --------------------------------------------------------------
>
>                 Key: MINIFICPP-36
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-36
>             Project: NiFi MiNiFi C++
>          Issue Type: New Feature
>            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)

Reply via email to