gst-plugins-rs/net
Arun Raghavan c2aafa4f46 rusoto: s3sink: Implement timeout/retry for part uploads
Rusoto does not implement timeouts or retries for any of its HTTP
requests. This is particularly problematic for the part upload stage of
multipart uploads, as a blip in the network could cause part uploads to
freeze for a long duration and eventually bail.

To avoid this, for part uploads, we add (a) (configurable) timeouts for
each request, and (b) retries with exponential backoff, upto a
configurable duration.

It is not clear if/how we want to do this for other types of requests.
The creation of a multipart upload should be relatively quick, but the
completion of an upload might take several minutes, so there is no
one-size-fits-all configuration, necessarily.

It would likely make more sense to implement some sensible hard-coded
defaults for these other sorts of requests.
2022-02-23 13:53:39 -05:00
..
hlssink3 Update minimum supported Rust version to 1.57 2022-02-21 23:32:32 +01:00
reqwest Update minimum supported Rust version to 1.57 2022-02-21 23:32:32 +01:00
rusoto rusoto: s3sink: Implement timeout/retry for part uploads 2022-02-23 13:53:39 -05:00