summaryrefslogtreecommitdiff
path: root/indra/newview/llmeshrepository.cpp
AgeCommit message (Collapse)Author
2015-10-15MAINT-5732: Fixes for Mac buildrider
2015-10-14MAINT-5732: Change to the way event polling handles error conditions and ↵Rider Linden
cancel calls. Refactor any remaining LLCore::HTTPHandlers to use boost::shared_ptr Started minor refactor in the materials manager into coroutines (unfinished)
2018-04-25MAINT-8585 "Unknown token in inventory file" Log spamandreykproductengine
2015-09-29DRTVWR-409: merge DRTVWR-368Rider Linden
2015-09-29merge changes for 3.8.4-releaseOz Linden
2015-09-23MAINT-5663: prevent crash in mesh handlers for very short sessionsOz Linden
2015-09-15MAINT-5507: Remove llcurl, move constant values and untilities to llcorehttp libRider Linden
2015-08-25MergeRider Linden
2015-07-23Remove unused code and llassetuploadresponders files.Rider Linden
2015-07-08Change HttpOptions::ptr_t to be shared_ptr<> rather than intrusive.Rider Linden
2015-07-08Convert LLCore::HttpHeaders to use shared_ptr<> rather than an ↵Rider Linden
intrusive_ptr<> for refrence counting.
2015-01-22MAINT-4794 FIXED Present informative dialog if mesh upload fails due to ↵maksymsproductengine
specific reason
2015-01-22MAINT-4794 FIXED Present informative dialog if mesh upload fails due to ↵maksymsproductengine
specific reason
2014-11-11merge changes with 3.7.20-releasemaksymsproductengine
2014-09-19Cleanup work. Use http constants for content-type andMonty Brandenberg
accept headers in mesh and textures. For texture metrics reporting, use the AP_INVENTORY policy class which is non-pipelined and pointing (usually) in the right direction. Use a do-while(false) structure to manage common exit path code in onCompleted() methods. Identical to a 'goto' but might amuse the pedantic. Tuning on background fetch to have it cycle faster. This is experimental. I suspect with HTTP balancing in llcorehttp, we can do away with the timers here.
2014-09-09Cleanup pass. Documentation. Get older llcorehttp-usingMonty Brandenberg
code to use utils for any LLSD interfaces.
2014-09-04Pipelining work. Extend transfer timeout by the pipeline depthMonty Brandenberg
as transfers can appear delayed with deep pipelining and more requests in the pool. Added bad HTTP status error (typically getting a 0 back as HTTP status from libcurl) to the list of retryable errors. There's a response stream problem with libcurl and pipelining that induces this problem. Retrying helps but may not be entirely safe. Watch bug 1420 on the libcurl sourceforge bug tracker. Extend options of test/example program to include un-ranged requests. Document the excessive data transfer induced when ranged requests are disabled. This is an abnormal mode for very rare users so we'll just eat that for now.
2014-08-11Add 'HttpRangeRequestsDisable' debug setting to inhibit use of 'Range:' header.Monty Brandenberg
Intended for users with bad networking gear or twitchy ISPs, if set to True, forces plain GET requests to asset servers for textures and meshes. This change kicked off a slight refactor in the mesh repository code which made it resilient against unexpected 200's and responses not covering the requested start range. There's still too much data copying in the Mesh code (always has been). Would love to fix that and get rid of the monolithic temp buffer. Cleaned up white space damage caused by unnamed linden who likes to drag his magical editor through code.
2014-08-04Merge. Refresh from viewer-library-refresh after 3.7.13 release.Monty Brandenberg
2014-07-07Merge viewer up to 3.7.12, including fixing missed LL_WARNS etc from last ↵Graham Linden
release (is that trout you smell on the air? is it?)
2014-06-27Cleanup and tuning. Use a consistent index on some initializationMonty Brandenberg
data so their isn't an opportunity for gaps over overruns (init_data). Start some preliminary tweaking of policy class numbers. It looks like I can easily drop the default connection count to '4' and still hit the throttles. Did some experiments running pipeline deeper which was mostly fine for textures but tended to slow meshes. Reason uncertain but a depth of '5' seems generally healthy for mesh. I had one run of 52.6S with a theoretical minimum of 51.2S. That's as good as I've ever seen.
2014-06-23First HTTP pipelining viewer. Enable pipelining forMonty Brandenberg
GetTexture and GetMesh2 at a pipeline depth of 5. Create global debug option, HttpPipelining, to enable and disable HTTP pipelining (defaults to true). Tweak texture and mesh low- and high-water request levels based on pipelining status and depth. Fixup texture console which was damaged in a recent release. Split logging of the no-request HTTP error case into two cases: one for missing URL in HTTP request, one for HTTP request not created. A refactor in llcorehttp is coming: I will be moving all libcurl- using code into libcurl-specific modules.
2014-06-16merge changes for 3.7.9-releaseOz Linden
2014-05-29Mergeup to 3.7.9 viewer-releaseGraham Linden
2014-05-14v-r -> s-e merge WIPBrad Payne (Vir Linden)
2014-05-13sunshine-external merge WIPBrad Payne (Vir Linden)
2014-05-07merge changes for 3.7.7-releaseOz Linden
2014-04-22Modify importer to (optionally) improve debug output, perform name-based LOD ↵Graham Linden
association, and handle models with many materials.
2014-03-03merge changes for 3.7.2-releaseOz Linden
2014-02-25merge viewer-release to sunshine-externalBrad Payne (Vir Linden)
2014-02-24merge with releaseRichard Linden
2014-01-09SH-4667 HTTP Viewer reports network error instead of a misnamed joint on ↵Monty Brandenberg
mesh upload Tried to add consistent mesh upload retries in the HTTP work but a combination of bad status choices in the upload service and the one-shot nature of the upload capabilities means that status information can be lost. For now, retain the wonderful manual retry logic. At some future point, we might fix the services or add application-level retry.
2013-12-06SH-4645 Viewer hangs on exit after cancelling a mesh upload.Monty Brandenberg
Problem involved a 3-way livelock between the main, upload and decomposition threads. Viewer is shutting down but an upload is in the 'generate hulls' state. Main thread asks upload request to discard and spins waiting for it to finish. Upload thread is in generateHulls spinning waiting for the decomposition thread to process a mesh request. Decomposition thread is sleeping waiting for main thread to deliver work that upload thread has asked the decomposition thread to do.
2013-11-19merge up to 3.6.10-release; some of the storm-68 changes lostOz Linden
2013-10-25trivial: fix several weird compiling errors.Xiaohong Bao
2013-10-16mergeBrad Payne (Vir Linden)
2013-10-08merge from viewer-releaseRichard Linden
2013-10-04Merge. Pull in viewer-release after 3.6.7 release.Monty Brandenberg
2013-09-27Up the transfer timeout of small meshes to 120S. This matchesMonty Brandenberg
the change made for MAINT-2347. Large transfers are still 10 minutes. Add/update to-do list and add some more info to the FAQ in the Readme.
2013-09-24SH-3690 SH-4505 Cleanup pass through code.Monty Brandenberg
Start using DNS cache in legacy LLCurl code. Go to 15 seconds particularly as we're using threaded resolver at this point. Documentation cleanup. Add libcurl status checking and logging for curl_easy_setopt() operations that fail. Shouldn't happen and we'll just continue anyway but there's info in the logs to track these down now. Cleaned up logic around FASTTIMER enable defines used to evaluate pipeline stalls in main thread. Removed long-standing thread race around caps strings and URL construction. Not a significant risk but refactoring the code to get rid of them removed one huge eyesore. It can be made even slicker if desired (see notes).
2013-09-20Move from std::queue to std::list which has betterMonty Brandenberg
behavior and swap() as well. Should probably do this for the other queues at some point.
2013-09-20Used a c++11 feature unintentionally. Use a moreMonty Brandenberg
traditional swap-less object transfer.
2013-09-19SH-4516 Fix a subset of thread races in llmeshrepositoryMonty Brandenberg
Much earlier identified some thread races including two on mskininfoq and mdecompositionq. I actually hit one in testing the other day so I'm fixing them now. Put them under the mMutex lock and use the mutex in such a way that main thread stalls are not added.
2013-09-13log spam cleanupBrad Payne (Vir Linden)
2013-09-12SH-4489 New debug/dev settings for control over new mesh behaviorMonty Brandenberg
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.
2013-09-11SH-4490 More 'humane' error code presentation from llcorehttp callersMonty Brandenberg
Added toTerseString() conversion on HttpStatus to generate a string that's more descriptive than the hex value of the HttpStatus value but still forms a short, searchable token (e.g. "Http_503" or "Core_7"). Using this throughout the viewer now, no live cases of toHex(), I believe.
2013-09-11SH-4489 New debug/dev settings for control over new mesh behaviorMonty Brandenberg
Added 'MeshUseGetMesh1' and 'MeshUseHttpRetryAfter' debug settings to control mesh transport behavior. First forces the use of the legacy mesh fetch style with high concurrency and connection churn. The second, on by default, honors Retry-After values if they are reasonable. If off or unreasonable, internal delay times are used.
2013-09-06SH-4478 Corrected/updated error handling for all retrieval operations.Monty Brandenberg
In case of HTTP errors or parsing/processing errors, fail the fetch request rather than do a retry spin. Add logging for all such failure paths. Added a development/debug flag to create probabilistic failures to test these modes and general error recovery by higher-level layers.
2013-08-29Document the fast timer testing apparatus a bit.Monty Brandenberg
2013-08-29Merge. Pull in monty/viewer-drano-metrics. This will likely beMonty Brandenberg
the last time and that repo can soon be abandoned (QA function only).