Incremental fast error backoff

pull/185/head
M66B 4 years ago
parent 031d051a55
commit cf82fa02d5

@ -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() {

@ -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

Loading…
Cancel
Save