exponential backoff

This commit is contained in:
Jakob Ketterl 2019-07-13 21:40:48 +02:00
parent f490fbc2c9
commit 9f2b715d9f

View File

@ -1472,6 +1472,7 @@ function on_ws_opened()
{ {
ws.send("SERVER DE CLIENT client=openwebrx.js type=receiver"); ws.send("SERVER DE CLIENT client=openwebrx.js type=receiver");
divlog("WebSocket opened to "+ws_url); divlog("WebSocket opened to "+ws_url);
reconnect_timeout = false;
} }
var was_error=0; var was_error=0;
@ -1852,6 +1853,8 @@ function audio_init()
} }
var reconnect_timeout = false;
function on_ws_closed() function on_ws_closed()
{ {
try try
@ -1860,9 +1863,16 @@ function on_ws_closed()
} }
catch (dont_care) {} catch (dont_care) {}
audio_initialized = 0; audio_initialized = 0;
divlog("WebSocket has closed unexpectedly. Attempting to reconnect in 5 seconds...", 1); if (reconnect_timeout) {
// max value: roundabout 8 and a half minutes
reconnect_timeout = Math.min(reconnect_timeout * 2, 512000);
} else {
// initial value: 1s
reconnect_timeout = 1000;
}
divlog("WebSocket has closed unexpectedly. Attempting to reconnect in " + reconnect_timeout / 1000 + " seconds...", 1);
setTimeout(open_websocket, 5000); setTimeout(open_websocket, reconnect_timeout);
} }
function on_ws_error(event) function on_ws_error(event)