Closed MartinSchobben closed 1 year ago
Yes, that is how istream
works. It reads bytes from stdin
and sends chunks (via an in-memory buffer) to the iRODS server. The downside is that the length of the input stream is unknown. That means istream
does not support parallel transfer.
Because you're using the REST API, you won't have parallel transfer available either. Just something to keep in mind.
Yes, I guess we have to life with that. But the implementation for the serial approach on the R side is poor at the moment, as I designed it to write to disk first and then send to the REST API. The implementation as shown before might circumvent this. I placed it here to remind myself that I should look into this.
I think the solution is to make a connection to iRODS and then stream from memory to the final destination. Although I do not know how this looks like with a connection to iRODS, locally this could look like this: