summaryrefslogtreecommitdiff
path: root/indra/newview/lltexturefetch.cpp
AgeCommit message (Collapse)Author
2013-04-15SH-4061 WIP - comments, timing of retriesBrad Payne (Vir Linden)
2013-04-15SH-4061 WIP - moved all retry logic into lltexturefetch, some cleanup. Debug ↵Brad Payne (Vir Linden)
setting now defines a fake failure rate.
2013-04-15SH-4061 WIP - simulated failures/image fetch retriesBrad Payne (Vir Linden)
2013-04-15SH-4106 Significantly upgrade the HttpHeaders interface for SSB.Monty Brandenberg
Header container moves from a vector of raw lines to a vector of string pairs representing name/value pairs in headers. For incoming headers, we normalize the name to lowercase and trim it. Values are only left-trimmed. Outgoing headers are left as-is. Simple find() method for the common case, forward and reverse iterators for those few who need to do it themselves. The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated as a header to be returned to caller. Unit tests, as usual, were a bear but they absolutely ensured outgoing HTTP header conformance after the change. Grunt work paid off. LLTextureFetch was also given a second options structure for texture fetches. Same as the original but with header return to caller requested. Baked textures should use this, the other 20,000 texture fetch requests should continue to use the original.
2013-06-19SH-4252 Add second policy class for large mesh asset downloadsMonty Brandenberg
Added second mesh class as well as an asset upload class. Refactored initialization to use less code and more data to cleanly get http started. Modified mesh to use the new http class for large requests (>2MB for now). Added additional timeout setting to llcorehttp to distinguish connection timeout from transport timeout and are now using transport timeout values for large asset downloads that may need more time.
2013-04-15SH-4106 Significantly upgrade the HttpHeaders interface for SSB.Monty Brandenberg
Header container moves from a vector of raw lines to a vector of string pairs representing name/value pairs in headers. For incoming headers, we normalize the name to lowercase and trim it. Values are only left-trimmed. Outgoing headers are left as-is. Simple find() method for the common case, forward and reverse iterators for those few who need to do it themselves. The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated as a header to be returned to caller. Unit tests, as usual, were a bear but they absolutely ensured outgoing HTTP header conformance after the change. Grunt work paid off. LLTextureFetch was also given a second options structure for texture fetches. Same as the original but with header return to caller requested. Baked textures should use this, the other 20,000 texture fetch requests should continue to use the original.
2013-04-11Mergesimon
2013-04-11SH-4061 WIP - started adding retry to texture fetch, making retry policy ↵Brad Payne (Vir Linden)
compatible with old and new http libraries
2013-04-10SH-4061 WIP - less log spamming for (expected and normal) map tile failures.Brad Payne (Vir Linden)
2013-04-10SH-4061 WIP - capture http status codes from requests, restrict SB fetch ↵Brad Payne (Vir Linden)
retries to 5xx errors
2013-04-08SH-4061 FIX - texture fetch failures added retry logic and fault injection ↵Brad Payne (Vir Linden)
for testing
2013-04-04Renaming HTTP_HEADER_* into HTTP_IN_HEADER_* and HTTP_OUT_HEADER_* to make ↵Don Kjer
it more clear which header strings should be used for incoming vs outgoing situations. Using constants for commonly used llhttpnode context strings.
2013-03-27pulling in sunshine-stableNyx Linden
2013-03-22SH-3850 WIP - fixed some warningsBrad Payne (Vir Linden)
2013-03-22SH-3850 WIP - added some additional debugging output to try to catch gray ↵Brad Payne (Vir Linden)
textures
2013-03-22merge with viewer-releaseRichard Linden
2013-03-20merging in changes from sunshine-stableNyx Linden
2013-03-19still more build failure fixingBrad Payne (Vir Linden)
2013-03-18SH-3980 FIX - fixed most cases of server-bake blurring by disabling caching ↵Brad Payne (Vir Linden)
of server bakes. A better solution is desirable, may not be for initial release
2013-03-18Fix for build errorBrad Payne (Vir Linden)
2013-03-18more urgent notification (DEBUG->WARN) for some texture fetch error casesBrad Payne (Vir Linden)
2013-03-18mergeBrad Payne (Vir Linden)
2013-03-15SH-3850 WIP, SH-3959 WIP - added additional debug logging for texture loadingBrad Payne (Vir Linden)
2013-03-13SH-3975 WIP - consolidated texture fetch state changes to simplify trackingBrad Payne (Vir Linden)
2013-03-13Merging LLCURL::Responder changes with CHUI changes. Fixed gcc 4.6 compile ↵Don Kjer
failures
2013-03-13Large changes to the LLCurl::Responder API, as well as pulling in some ↵Don Kjer
changes to common libraries from the server codebase: * Additional error checking in http handlers. * Uniform log spam for http errors. * Switch to using constants for http heads and status codes. * Fixed bugs in incorrectly checking if parsing LLSD xml resulted in an error. * Reduced spam regarding LLSD parsing errors in the default completedRaw http handler. It should not longer be necessary to short-circuit completedRaw to avoid spam. * Ported over a few bug fixes from the server code. * Switch mode http status codes to use S32 instead of U32. * Ported LLSD::asStringRef from server code; avoids copying strings all over the place. * Ported server change to LLSD::asBinary; this always returns a reference now instead of copying the entire binary blob. * Ported server pretty notation format (and pretty binary format) to llsd serialization. * The new LLCurl::Responder API no longer has two error handlers to choose from. Overriding the following methods have been deprecated: ** error - use httpFailure ** errorWithContent - use httpFailure ** result - use httpSuccess ** completed - use httpCompleted ** completedHeader - no longer necessary; call getResponseHeaders() from a completion method to obtain these headers. * In order to 'catch' a completed http request, override one of these methods: ** httpSuccess - Called for any 2xx status code. ** httpFailure - Called for any non-2xx status code. ** httpComplete - Called for all status codes. Default implementation is to call either httpSuccess or httpFailure. * It is recommended to keep these methods protected/private in order to avoid triggering of these methods without using a 'push' method (see below). * Uniform error handling should followed whenever possible by calling a variant of this during httpFailure: ** llwarns << dumpResponse() << llendl; * Be sure to include LOG_CLASS(your_class_name) in your class in order for the log entry to give more context. * In order to 'push' a result into the responder, you should no longer call error, errorWithContent, result, or completed. * Nor should you directly call httpSuccess/Failure/Completed (unless passing a message up to a parent class). * Instead, you can set the internal content of a responder and trigger a corresponding method using the following methods: ** successResult - Sets results and calls httpSuccess ** failureResult - Sets results and calls httpFailure ** completedResult - Sets results and calls httpCompleted * To obtain information about a the response from a reponder method, use the following getters: ** getStatus - HTTP status code ** getReason - Reason string ** getContent - Content (Parsed body LLSD) ** getResponseHeaders - Response Headers (LLSD map) ** getHTTPMethod - HTTP method of the request ** getURL - URL of the request * It is still possible to override completeRaw if you want to manipulate data directly out of LLPumpIO. * See indra/llmessage/llcurl.h for more information.
2013-03-11mergeprep
2013-03-11Viewer-chui mergeprep
2013-03-08SH-3959 WIP - pass information about type of fetched image - server bake, ↵Brad Payne (Vir Linden)
host bake, map tile, etc - down the chain so LLTextureFetchWorker can adjust behavior as needed
2013-03-06renamed LLTrace stat gathering classes/methods to make the structure of ↵Richard Linden
LLTrace clearer Count becomes CountStatHandle Count.sum becomes sum(Count, value), etc.
2013-02-14merge changes for 3.4.5Oz Linden
2013-01-30merge downstream code from viewer-lionsimon@Simon-PC.lindenlab.com
2013-01-24merging in viewer-beta.Nyx Linden
Most of the merge was clean, a couple conflicts. Brought over a couple patches manually for llpolymesh.
2013-01-17merge up to 3.4.4Oz Linden
2013-01-10Automated merge with ssh://hg.lindenlab.com/richard/viewer-interesting-metricsRichard Linden
2013-01-10SH-3406 WIP convert fast timers to lltrace systemRichard Linden
fix for gcc build error
2013-01-09Merge. Pull viewer-development in prior to filing DRTVWR merge request.Monty Brandenberg
2013-01-08MergeXiaohong Bao
2012-12-21SH-3357 Texture fetch debugger not running correctly under drano-Monty Brandenberg
http phase 1 Some missing counter initialization kept the debugger from entering the startup state giving the appearance of a do- nothing floater. Also found some unbound recursion that might need looking at in the future. (There's a comment.)
2012-12-21SH-3331 Fix incorrect overrun message when sending body with HTTPMonty Brandenberg
request. During readcallback, would generate an overrun-type message about reading position beyond end-of-data. Mistake was is messaging when state is exactly at end of data (which is expected) versus an overrun. Both result in declaring end-of-data to libcurl. Also changed some of the status logging for the metrics payload to be less chatty on success, more informative on error.
2012-12-04Pull in upstream viewer-development via viewer-lionsimon@Simon-PC.lindenlab.com
2012-12-04Pull and merge viewer-developmentsimon@Simon-PC.lindenlab.com
2012-11-28SH-3563. Pull and merge from viewer-development. Modest code changes to fix ↵prep
alignment issue in llAppearance.
2012-11-20SH-3406 WIP convert fast timers to lltrace systemRichard Linden
fixes to merge
2012-11-20Automated merge with https://bitbucket.org/lindenlab/viewer-developmentDave Parks
2012-11-19merge with viewer-developmentRichard Linden
2012-11-19merge up to 3.4.1-releaseOz Linden
2012-11-01misc error detection, debug coloration for avatar meshesBrad Payne (Vir Linden)
2012-11-01SH-3405 FIX convert existing stats to lltrace systemRichard Linden
final removal of remaining LLStat code
2012-10-20SH-3405 WIP convert existing stats to lltrace systemRichard Linden
fixed build