Add download speed limit configuration option.#209
Conversation
|
We'd prefer to move away from full bundle downloads towards RAUC's native streaming support, as that's a requirement to benefit from adaptive updates. See Is there a reason why you need to use the non-streaming case? |
|
@jluebbe Thanks for the response. I don't have any opposition to switching to streaming, though it doesn't seem to be enabled by default. Are there plans to change that in a future release? For users that still opt for the non-streaming (current default) case, are you opposed to adopting this additional configuration option? If you'd like, I'm happy to explicitly note in the reference that it does not apply when Let me know how you'd like to proceed. |
Changing the default might be too surprising for existing users, but perhaps we should warn if the
Yes, please add a note in the reference and also in the example conf comment. |
|
I've added the note. Likely outside the scope of this PR, but some other options have a similar note in the reference, but not the example configuration file:
Just noting for sake of completeness, but not something that needs to be done here. |
5e71786 to
f315f7c
Compare
|
Thanks for the feedback. I've addressed those comments and cleaned up the earlier commit messages to be more consistent with the rest of the repo. |
f315f7c to
f7528d0
Compare
Signed-off-by: Ben Prisby <ben@prisby.com>
…when stream_bundle is true Signed-off-by: Ben Prisby <ben@prisby.com>
Signed-off-by: Ben Prisby <ben@prisby.com>
Signed-off-by: Ben Prisby <ben@prisby.com>
Signed-off-by: Ben Prisby <ben@prisby.com>
f7528d0 to
e088137
Compare
Bastian-Krause
left a comment
There was a problem hiding this comment.
Rebased. Thanks for addressing the feedback!
For rate-limited environments, it would be convenient to have the ability to cap the download speed for updates at the client side. While most use cases may prefer the client to download as fast as possible, I have ran into cases in embedded systems where it is desirable to impose speed limits on network activity. Being able to do this at an application level rather than interface-wide offers more system configuration flexibility.
This change plumbs through cURL's
CURLOPT_MAX_RECV_SPEED_LARGEoption as a configuration property, where the speed limit is imposed as an average for the transfer. The default is to not impose any speed limit (current behavior).