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

    https://github.com/apache/nifi-minifi-cpp/pull/416#discussion_r223393524
  
    --- Diff: libminifi/src/capi/api.cpp ---
    @@ -287,6 +288,41 @@ flow *create_getfile(nifi_instance *instance, flow 
*parent_flow, GetFileConfig *
       return new_flow;
     }
     
    +/**
    + * Adds processor to existing flow
    + * @param proc_name: name of the new processor
    + * @param config: config of the processor, key=value pairs separated by ';'
    + * @return:
    + *   -0: success
    + *   -1: processor cannot be instanciated
    + *   -2: invalid config string
    + *   -3: invalid property name in config string
    + */
    +uint8_t add_processor(flow *parent_flow, const char *proc_name, const char 
*config) {
    --- End diff --
    
    The configuration setting here in a public API is confusing. It requires 
that config contain delimited configuration types. In many cases this 
information is not known apriori. We need a way to augment properties at any 
point. This could mean that we run, stop, and reset the properties for any 
given processor. This would require that we reset it. I'm more of a fan of 
returning a processor when we create it and setting the properties manually ( 
could certainly have helper functions that automate this ) -- ultimately 
leading to a very strict flow of events that works across multiple languages ( 
thinking python, go, etc ) 


---

Reply via email to