Changes between Initial Version and Version 1 of Ticket #3777
- Timestamp:
- 2021-08-23T14:22:42Z (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #3777
- Property Owner set to exarkun
- Property Type changed from defect to task
- Property Milestone changed from undecided to HTTP Storage Protocol
-
Ticket #3777 – Description
initial v1 17 17 18 18 Third, as part of documenting, it's worth thinking about the pattern in context of HTTP server implementations. HTTP server frameworks often don't preserve order _between_ parameters, only preserving order for multiple values of a single parameter. So e.g. `?share=1&share=2&offset=0&offset=100` will look the same as `?share=1&offset=0&share=2&offset=100` if you're using Twisted Web (or Flask), because you get back a mapping of argument key to list of values. 19 20 Fourth, can I request multiple chunks from same share? 21 22 Fifth, taking a step back and looking at the big picture, I am not certain that supporting reading from multiple shares (or more broadly, reading multiple chunks) in a single query is actually useful. 23 24 1. It's not clear to me it simplifies the client implementation. 25 2. There are API design difficulties of receive arbitrarily sized multiple chunks in a single stream. 26 3. Using single CBOR result streaming isn't really easy to support. Alternative is to concatenate multiple separately CBOR-encoded values (i.e. writing multiple results of `cbor2.dumpb` or whatever), which CBOR libraries can handle better. 27 4. Given support for parallel requests, it doesn't improve latency (though it does have minor reduction in bandwidth usage).