Closed alexlapa closed 3 years ago
FCM:
Improve Jason reconnect API (#206)
- add optional argument to ReconnectHandle.reconnect_with_backoff() that limits max elapsed time
Additionally:
- upgrade Chrome to 91.0 version for E2E tests
- fix state synchronization in E2E tests
Synopsis
Реконнекты снаружи прокаются через
ReconnectHandle
. На нем есть две функции:reconnect_with_delay(delay_ms: u32)
, который дернет реконнект после указанной задержки.reconnect_with_backoff(starting_delay_ms: u32, multiplier: f64, max_delay: u32)
, который реализует exponential backoff подход.В данный момент второй метод будет дергать реконнект до успеха или до финализации Jason'а. Вижу смысл его немного улучшить, дав максимальное ограничение по времени. Тогда пользователи смогут сразу кормить в этот метод какой-нибудь свой
MAX_RECONNECT_TIMEOUT
и тупо ждать пока метод отработает.Solution
Add optional
max_elapsed_time_ms
arg toreconnect_with_backoff()
. Switch to backoff crate.Checklist
Draft:
prefixk::
labels appliedDraft:
prefix is removed