WHAT Needs to be Documented?
The new setting in core for 10.9: owncloud/core#38583 ([full-ci] Enable streaming for propfind) may need to find its way into the developer documentation.
WHERE Does This Need To Be Documented (Link)?
Not sure but: https://doc.owncloud.com/server/next/developer_manual/core/apis/ocs-capabilities.html
WHY Should This Change Be Made?
The impact is not only great for the server, but if a client can use the new setting it will bring a lot of benefits. If the client cant use it, there is no change in behaviour.
For a quick and dirty explanation I just sent the answer to my question from deepdiver thru google translate but this gives a hint what it is about.
without streaming:
- server collects all information for the propfind
- information is stored in the RAM
- when everything is collected an xml is built
- the xml is sent to the client
i.e. client waits until everything is ready
with streaming:
- while the server is still running through the file tree and collecting the information, xml elements are sent directly to the client
- i.e. the client receives the answer immediately and can already process it
- Impact on our clients (who can do that - ios only at the moment): they can immediately parse and process the xml
- effects on the server: significantly lower memory consumption
- the whole thing now allows the initial propfind to be sent with depth infinity
i.e. the client can process the first sync in a request and does not have to send a request for each folder
(Optional) Which Manual Does This Relate To?
@EParzefall fyi
@phil-davis mind to help as you have done many updates of the dev docs.
WHAT Needs to be Documented?
The new setting in core for 10.9: owncloud/core#38583 ([full-ci] Enable streaming for propfind) may need to find its way into the developer documentation.
WHERE Does This Need To Be Documented (Link)?
Not sure but: https://doc.owncloud.com/server/next/developer_manual/core/apis/ocs-capabilities.html
WHY Should This Change Be Made?
The impact is not only great for the server, but if a client can use the new setting it will bring a lot of benefits. If the client cant use it, there is no change in behaviour.
For a quick and dirty explanation I just sent the answer to my question from deepdiver thru google translate but this gives a hint what it is about.
without streaming:
i.e. client waits until everything is ready
with streaming:
i.e. the client can process the first sync in a request and does not have to send a request for each folder
(Optional) Which Manual Does This Relate To?
@EParzefall fyi
@phil-davis mind to help as you have done many updates of the dev docs.