Open
Description
What
Remove GetResultPayload::File
(and the entire enum).
Why
The file handle has several drawbacks as it does NOT specify the following properties:
- mode: Is the file opened read-only or does it also have write access (which would be bad)?
- seek position: At which position is the current file "read head"? Are users expected to seek to the file start if they want to read the entire file?
- direct IO: Is the file opened using direct IO? (in which case the user would have to read in aligned blocks)
- exclusive access: Does the API user have exclusive access to the said file handle (and hence can use seek-based operations) or not (in which case only non-seeking operations like
read_at
would be required)
At the same time I suspect that most users copy the file data into a buffer anyways and don't use any kernel-based IO operations like sendfile
.
All object store users and integrating libraries potentially have to deal with streams AND file handles.
How
Remove the entire GetResultPayload
enum and just use streams.
Metadata
Metadata
Assignees
Labels
No labels