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

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

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

    https://github.com/apache/nifi-minifi-cpp/pull/148#discussion_r145688909
  
    --- Diff: libminifi/include/core/ProcessSession.h ---
    @@ -151,11 +152,47 @@ class ProcessSession {
       bool keepSource,
                   uint64_t offset, char inputDelimiter);
     
    +  /**
    +   * Exports the data stream to a file
    +   * @param string file to export stream to
    +   * @param flow flow file
    +   * @param bool whether or not to keep the content in the flow file
    +   */
    +  bool exportContent(const std::string &destination,
    +                     std::shared_ptr<core::FlowFile> &flow,
    +                     bool keepContent);
    +
    +  bool exportContent(const std::string &destination,
    +                     const std::string &tmpFileName,
    +                     std::shared_ptr<core::FlowFile> &flow,
    +                     bool keepContent);
    +
    +  // Stash the content to a key
    +  void stash(const std::string &key, std::shared_ptr<core::FlowFile> flow);
    +   // Restore content previously stashed to a key
    +  void restore(const std::string &key, std::shared_ptr<core::FlowFile> 
flow);
    +
     // Prevent default copy constructor and assignment operation
     // Only support pass by reference or pointer
       ProcessSession(const ProcessSession &parent) = delete;
       ProcessSession &operator=(const ProcessSession &parent) = delete;
     
    +  class ReadCallback : public InputStreamCallback {
    --- End diff --
    
    Can we move this elsewhere? 


> Create FocusArchive processor
> -----------------------------
>
>                 Key: MINIFICPP-39
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-39
>             Project: NiFi MiNiFi C++
>          Issue Type: Task
>            Reporter: Andrew Christianson
>            Assignee: Andrew Christianson
>            Priority: Minor
>
> Create an FocusArchive processor which implements a lens over an archive 
> (tar, etc.). A concise, though informal, definition of a lens is as follows:
> "Essentially, they represent the act of “peering into” or “focusing in on” 
> some particular piece/path of a complex data object such that you can more 
> precisely target particular operations without losing the context or 
> structure of the overall data you’re working with." 
> https://medium.com/@dtipson/functional-lenses-d1aba9e52254#.hdgsvbraq
> Why an FocusArchive in MiNiFi? Simply put, it will enable us to "focus in on" 
> an entry in the archive, perform processing *in-context* of that entry, then 
> re-focus on the overall archive. This allows for transformation or other 
> processing of an entry in the archive without losing the overall context of 
> the archive.
> Initial format support is tar, due to its simplicity and ubiquity.
> Attributes:
> - Path (the path in the archive to focus; "/" to re-focus the overall archive)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to