Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
Description
The current Input/Output callback interfaces use the BaseStream instead of the respective InputStream, OutputStream.
virtual int64_t InputStreamCallback::process(const std::shared_ptr<io::BaseStream>& stream) = 0; virtual int64_t OutputStreamCallback::process(const std::shared_ptr<io::BaseStream>& stream) = 0;
Ideally it should look like this
virtual int64_t InputStreamCallback::process(const std::shared_ptr<io::InputStream>& stream) = 0; virtual int64_t OutputStreamCallback::process(const std::shared_ptr<io::OutputStream>& stream) = 0;
Without this it is impossible to create and use ReadOnly/WriteOnly streams for FlowFile IO (the BaseStream requires implementing both the Input and Output Stream interfaces)
However there may be some feature dependent on this solution. (e.g. calling write from InputStreamCallback)