Incremental fast error backoff

This commit is contained in:
M66B 2020-09-15 09:14:34 +02:00
parent 031d051a55
commit cf82fa02d5
2 changed files with 9 additions and 4 deletions

View File

@ -4076,8 +4076,8 @@ class Core {
return networkState; return networkState;
} }
void setBackoff(int value) { void setBackoff(int seconds) {
this.backoff = value; this.backoff = seconds;
} }
int getBackoff() { int getBackoff() {

View File

@ -1555,8 +1555,13 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
EntityLog.log(ServiceSynchronize.this, EntityLog.log(ServiceSynchronize.this,
account.name + " fast errors=" + errors + account.name + " fast errors=" + errors +
" last connected: " + new Date(account.last_connected)); " last connected: " + new Date(account.last_connected));
if (errors >= FAST_ERROR_COUNT) if (errors >= FAST_ERROR_COUNT) {
state.setBackoff(CONNECT_BACKOFF_AlARM_START * 60); int scale = errors - FAST_ERROR_COUNT + 1;
int backoff = Math.max(CONNECT_BACKOFF_AlARM_START * scale, CONNECT_BACKOFF_AlARM_MAX);
EntityLog.log(ServiceSynchronize.this,
account.name + " fast error backoff=" + backoff);
state.setBackoff(backoff * 60);
}
} }
// Report account connection error // Report account connection error