summaryrefslogtreecommitdiff
path: root/indra/newview/lllogininstance.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2019-08-21 21:51:56 +0100
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2019-08-21 21:51:56 +0100
commit63f82fc44b721b0ec437845d41b5a2055a44be68 (patch)
tree3d3caee52df32234073c0e2da18b9f7eed7722d3 /indra/newview/lllogininstance.cpp
parent755b396045fd464dd2d7fc10239bf775cc54d074 (diff)
parente9ead7cc2ee9970b468ef6de0ba57726bb203ef4 (diff)
merge
Diffstat (limited to 'indra/newview/lllogininstance.cpp')
-rw-r--r--indra/newview/lllogininstance.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index df040d8f13..8a69acb8dc 100644
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -63,6 +63,9 @@
#include <sstream>
const S32 LOGIN_MAX_RETRIES = 3;
+const F32 LOGIN_SRV_TIMEOUT_MIN = 10;
+const F32 LOGIN_SRV_TIMEOUT_MAX = 120;
+const F32 LOGIN_DNS_TIMEOUT_FACTOR = 0.9; // make DNS wait shorter then retry time
class LLLoginInstance::Disposable {
public:
@@ -237,8 +240,10 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia
// Specify desired timeout/retry options
LLSD http_params;
- http_params["timeout"] = gSavedSettings.getF32("LoginSRVTimeout");
+ F32 srv_timeout = llclamp(gSavedSettings.getF32("LoginSRVTimeout"), LOGIN_SRV_TIMEOUT_MIN, LOGIN_SRV_TIMEOUT_MAX);
+ http_params["timeout"] = srv_timeout;
http_params["retries"] = LOGIN_MAX_RETRIES;
+ http_params["DNSCacheTimeout"] = srv_timeout * LOGIN_DNS_TIMEOUT_FACTOR; //Default: indefinite
mRequestData.clear();
mRequestData["method"] = "login_to_simulator";