SH-4368 Adjust upload timeout parameters for slow networks.

Mon, 29 Jul 2013 12:42:27 -0400

author
Monty Brandenberg <monty@lindenlab.com>
date
Mon, 29 Jul 2013 12:42:27 -0400
changeset 40698
8daa5f3fcf2e
parent 40697
1909fb80b76f
child 40699
f0af522931fa

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.

indra/llcorehttp/httpoptions.h file | annotate | diff | revisions
indra/newview/llmeshrepository.cpp file | annotate | diff | revisions
     1.1 --- a/indra/llcorehttp/httpoptions.h	Thu Jul 25 18:36:08 2013 -0400
     1.2 +++ b/indra/llcorehttp/httpoptions.h	Mon Jul 29 12:42:27 2013 -0400
     1.3 @@ -68,36 +68,42 @@
     1.4  	void operator=(const HttpOptions &);		// Not defined
     1.5  
     1.6  public:
     1.7 +	// Default:   false
     1.8  	void				setWantHeaders(bool wanted);
     1.9  	bool				getWantHeaders() const
    1.10  		{
    1.11  			return mWantHeaders;
    1.12  		}
    1.13 -	
    1.14 +
    1.15 +	// Default:  0
    1.16  	void				setTrace(int long);
    1.17  	int					getTrace() const
    1.18  		{
    1.19  			return mTracing;
    1.20  		}
    1.21  
    1.22 +	// Default:  30
    1.23  	void				setTimeout(unsigned int timeout);
    1.24  	unsigned int		getTimeout() const
    1.25  		{
    1.26  			return mTimeout;
    1.27  		}
    1.28  
    1.29 +	// Default:  0
    1.30  	void				setTransferTimeout(unsigned int timeout);
    1.31  	unsigned int		getTransferTimeout() const
    1.32  		{
    1.33  			return mTransferTimeout;
    1.34  		}
    1.35  
    1.36 +	// Default:  8
    1.37  	void				setRetries(unsigned int retries);
    1.38  	unsigned int		getRetries() const
    1.39  		{
    1.40  			return mRetries;
    1.41  		}
    1.42 -	
    1.43 +
    1.44 +	// Default:  false
    1.45  	void				setUseRetryAfter(bool use_retry);
    1.46  	bool				getUseRetryAfter() const
    1.47  		{
     2.1 --- a/indra/newview/llmeshrepository.cpp	Thu Jul 25 18:36:08 2013 -0400
     2.2 +++ b/indra/newview/llmeshrepository.cpp	Mon Jul 29 12:42:27 2013 -0400
     2.3 @@ -235,7 +235,8 @@
     2.4  const S32 REQUEST_LOW_WATER_MIN = 16;
     2.5  const S32 REQUEST_LOW_WATER_MAX = 40;
     2.6  const U32 LARGE_MESH_FETCH_THRESHOLD = 1U << 21;		// Size at which requests goes to narrow/slow queue
     2.7 -const long LARGE_MESH_XFER_TIMEOUT = 240L;				// Seconds to complete xfer
     2.8 +const long SMALL_MESH_XFER_TIMEOUT = 60L;				// Seconds to complete xfer, small mesh downloads
     2.9 +const long LARGE_MESH_XFER_TIMEOUT = 600L;				// Seconds to complete xfer, large downloads
    2.10  
    2.11  // Maximum mesh version to support.  Three least significant digits are reserved for the minor version, 
    2.12  // with major version changes indicating a format change that is not backwards compatible and should not
    2.13 @@ -629,6 +630,7 @@
    2.14  	mSignal = new LLCondition(NULL);
    2.15  	mHttpRequest = new LLCore::HttpRequest;
    2.16  	mHttpOptions = new LLCore::HttpOptions;
    2.17 +	mHttpOptions->setTransferTimeout(SMALL_MESH_XFER_TIMEOUT);
    2.18  	mHttpLargeOptions = new LLCore::HttpOptions;
    2.19  	mHttpLargeOptions->setTransferTimeout(LARGE_MESH_XFER_TIMEOUT);
    2.20  	mHttpHeaders = new LLCore::HttpHeaders;

mercurial