From 473b6cd5070b9e53f538ba4f5301ecd9dae3efc3 Mon Sep 17 00:00:00 2001 From: lennertr Date: Mon, 29 Oct 2018 16:46:47 +0100 Subject: [PATCH] #403 Provide SockJS config for minimum transport fallback timeout --- lib/main.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/main.js b/lib/main.js index 01bb894c..678f5aca 100644 --- a/lib/main.js +++ b/lib/main.js @@ -49,6 +49,7 @@ function SockJS(url, protocols, options) { } this._transportsWhitelist = options.transports; this._transportOptions = options.transportOptions || {}; + this._transportMinTimeout = options.transportMinTimeout || null; var sessionId = options.sessionId || 8; if (typeof sessionId === 'function') { @@ -209,7 +210,7 @@ SockJS.prototype._connect = function() { } // calculate timeout based on RTO and round trips. Default to 5s - var timeoutMs = (this._rto * Transport.roundTrips) || 5000; + var timeoutMs = ((this._rto > this._transportMinTimeout ? this._rto : this._transportMinTimeout) * Transport.roundTrips) || 5000; this._transportTimeoutId = setTimeout(this._transportTimeout.bind(this), timeoutMs); debug('using timeout', timeoutMs);