diff options
| author | Monty Brandenberg <monty@lindenlab.com> | 2013-09-12 20:15:20 -0400 | 
|---|---|---|
| committer | Monty Brandenberg <monty@lindenlab.com> | 2013-09-12 20:15:20 -0400 | 
| commit | 99c60b83f15a3c40ecf0e5f144cfc060b37c4cf8 (patch) | |
| tree | 71fd7c3bb326d73255d5a63a3ad1d0d9cc9471e0 /indra/newview | |
| parent | 622eae65551df9a4ca6843a6a657777ff5e2140e (diff) | |
SH-4489 New debug/dev settings for control over new mesh behavior
While giving myself a full project code review, found a bug in
the MeshUseGetMesh1 setting.  Mostly defaulted to old configuration
but used the GetMesh2 caps which would have been a huge DoS
resource sink.  Did some documentation maintenance as well while
I was in there.  More for the to-do list, etc.
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 4 | ||||
| -rwxr-xr-x | indra/newview/llmeshrepository.cpp | 17 | 
2 files changed, 13 insertions, 8 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9948f9974a..60fc2d349d 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9983,7 +9983,7 @@    <key>MeshUseHttpRetryAfter</key>    <map>      <key>Comment</key> -    <string>If TRUE, use Retry-After response headers when rescheduling a mesh request that fails with an HTTP 503 status.</string> +    <string>If TRUE, use Retry-After response headers when rescheduling a mesh request that fails with an HTTP 503 status.  Static.</string>      <key>Persist</key>      <integer>1</integer>      <key>Type</key> @@ -9994,7 +9994,7 @@    <key>MeshUseGetMesh1</key>    <map>      <key>Comment</key> -    <string>If TRUE, use the legacy GetMesh capability for mesh download requests.</string> +    <string>If TRUE, use the legacy GetMesh capability for mesh download requests.  Semi-dynamic (read at region crossings).</string>      <key>Persist</key>      <integer>1</integer>      <key>Type</key> diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 353e7e9a7f..c3d149db9a 100755 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -282,10 +282,15 @@  //     dialog.  Get the structured information going into the log into a  //     tree there.  //   * Header parse failures come without much explanation.  Elaborate. -//   * Need a final failure state for requests that are retried and just won't -//     complete.  We can fail a LOD request, others we don't. - - +//   * Work queue for uploads?  Any need for this or is the current scheme good +//     enough? +//   * Various temp buffers used in VFS I/O might be allocated once or even +//     statically.  Look for some wins here. +//   * Move data structures holding mesh data used by main thread into main- +//     thread-only access so that no locking is needed.  May require duplication +//     of some data so that worker thread has a minimal data set to guide +//     operations. +//  // --------------------------------------------------------------------------  //                    Development/Debug/QA Tools  // @@ -1052,7 +1057,7 @@ std::string LLMeshRepoThread::constructUrl(LLUUID mesh_id)  	if (gAgent.getRegion())  	{ -		if (! gMeshRepo.mGetMesh2Capability.empty()) +		if (! gMeshRepo.mGetMesh2Capability.empty() && gMeshRepo.mGetMeshVersion > 1)  		{  			http_url = gMeshRepo.mGetMesh2Capability;  		} @@ -2181,7 +2186,7 @@ void LLMeshUploadThread::doWholeModelUpload()  		LLCore::BufferArray * ba = new LLCore::BufferArray;  		LLCore::BufferArrayStream bas(ba);  		LLSDSerialize::toXML(body, bas); -		// LLSDSerialize::toXML(mModelData, bas);		// <- This will generate a convenient upload error +		// LLSDSerialize::toXML(mModelData, bas);		// <- Enabling this will generate a convenient upload error  		LLCore::HttpHandle handle = mHttpRequest->requestPost(mHttpPolicyClass,  															  mHttpPriority,  															  mWholeModelUploadURL, | 
