Disable `backoff`s `max_elapsed_time` functionality

This config setting makes backoff stop retrying if we didn't get an
error within this timeframe.
For us, this results in backoff not actually doing anything.

The connection to kraken is very long-running. It might be active
for hours without failing. However, the default value for
`max_elapsed_time` is set to 15 minutes. As such, once the connection
fails any time after that, backoff doesn't actually retry the operation
but just gives up.

Fixes #303.
pull/305/head
Thomas Eizinger 4 years ago
parent 9279877c8f
commit bac0f11898
No known key found for this signature in database
GPG Key ID: 651AC83A6C6C8B96

@ -15,8 +15,16 @@ pub fn connect() -> Result<RateUpdateStream> {
let rate_update = Arc::new(rate_update);
tokio::spawn(async move {
// The default backoff config is fine for us apart from one thing:
// `max_elapsed_time`. If we don't get an error within this timeframe,
// backoff won't actually retry the operation.
let backoff = backoff::ExponentialBackoff {
max_elapsed_time: None,
..backoff::ExponentialBackoff::default()
};
let result = backoff::future::retry_notify::<Infallible, _, _, _, _, _>(
backoff::ExponentialBackoff::default(),
backoff,
|| {
let rate_update = rate_update.clone();
async move {

Loading…
Cancel
Save