diff options
author | Monty Brandenberg <monty@lindenlab.com> | 2013-07-29 12:42:27 -0400 |
---|---|---|
committer | Monty Brandenberg <monty@lindenlab.com> | 2013-07-29 12:42:27 -0400 |
commit | c9e64823c05a493e6c926deebff1b0aaf0fb50be (patch) | |
tree | dc8a9982e6fb566a92e1460e072c407938857c18 /indra | |
parent | b7f14a7b39610ac1cb6db5fafeab568aa9b662c5 (diff) |
SH-4368 Adjust upload timeout parameters for slow networks.
Generally sorted the mesh timeout parameters for maximum
transport time (staying with default 30 for connect). 60S
for normal meshes, 600S for large. Also documented default
option values in httpoptions.h. Useful to have these. In
the future, the timeouts might go into standard llsd options
where they can be tracked a bit more.
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/llcorehttp/httpoptions.h | 10 | ||||
-rwxr-xr-x | indra/newview/llmeshrepository.cpp | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/indra/llcorehttp/httpoptions.h b/indra/llcorehttp/httpoptions.h index 04531425d8..f49a3555aa 100755 --- a/indra/llcorehttp/httpoptions.h +++ b/indra/llcorehttp/httpoptions.h @@ -68,36 +68,42 @@ protected: void operator=(const HttpOptions &); // Not defined public: + // Default: false void setWantHeaders(bool wanted); bool getWantHeaders() const { return mWantHeaders; } - + + // Default: 0 void setTrace(int long); int getTrace() const { return mTracing; } + // Default: 30 void setTimeout(unsigned int timeout); unsigned int getTimeout() const { return mTimeout; } + // Default: 0 void setTransferTimeout(unsigned int timeout); unsigned int getTransferTimeout() const { return mTransferTimeout; } + // Default: 8 void setRetries(unsigned int retries); unsigned int getRetries() const { return mRetries; } - + + // Default: false void setUseRetryAfter(bool use_retry); bool getUseRetryAfter() const { diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 1f40026e80..d02384f87c 100755 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -235,7 +235,8 @@ const S32 REQUEST_HIGH_WATER_MAX = 80; const S32 REQUEST_LOW_WATER_MIN = 16; const S32 REQUEST_LOW_WATER_MAX = 40; const U32 LARGE_MESH_FETCH_THRESHOLD = 1U << 21; // Size at which requests goes to narrow/slow queue -const long LARGE_MESH_XFER_TIMEOUT = 240L; // Seconds to complete xfer +const long SMALL_MESH_XFER_TIMEOUT = 60L; // Seconds to complete xfer, small mesh downloads +const long LARGE_MESH_XFER_TIMEOUT = 600L; // Seconds to complete xfer, large downloads // Maximum mesh version to support. Three least significant digits are reserved for the minor version, // with major version changes indicating a format change that is not backwards compatible and should not @@ -629,6 +630,7 @@ LLMeshRepoThread::LLMeshRepoThread() mSignal = new LLCondition(NULL); mHttpRequest = new LLCore::HttpRequest; mHttpOptions = new LLCore::HttpOptions; + mHttpOptions->setTransferTimeout(SMALL_MESH_XFER_TIMEOUT); mHttpLargeOptions = new LLCore::HttpOptions; mHttpLargeOptions->setTransferTimeout(LARGE_MESH_XFER_TIMEOUT); mHttpHeaders = new LLCore::HttpHeaders; |