summaryrefslogtreecommitdiff
path: root/indra/llcorehttp
AgeCommit message (Collapse)Author
2015-05-20Webprofile converted to coroutine.Rider Linden
Added JSON->LLSD converter Added corohandler for JSON data
2015-05-20MAINT-5232: Introduce SUBSYSTEM_CLEANUP() macroNat Goodspeed
and use it for existing LLSomeClass::cleanupClass() calls. This logs the fact of making the call, as well as making it.
2015-04-28Converting llmediaclient to new order.Rider Linden
Temp disable llmediaclient's unit tests for link issues.
2015-04-10Adding support for DELETE, PATCH and COPYRider Linden
2015-04-08Adding weak pointer support.Rider Linden
Event polling as a coroutine. (incomplete) Groundwork for canceling HttpCoroutineAdapter yields.
2015-04-01Added AvatarNameCache as coroutine, with LLCore::HttpHandler to respond ↵Rider Linden
correctly to Event Pumps. Added get/setRequestURL() to LLCore::HttpResponse Removed URI from the HttpSDHandler.
2015-03-27Remove test for size of HttpStatusRider Linden
2015-03-27first set of chnages from code review from NatRider Linden
2015-03-25Replace appearance responder with new LLCore Appearance Handler.Rider Linden
Prep for some slight cleanup of the code. Add AP_AVATAR Policy
2015-03-23Fix the tests to not directly access HttpsStatus' internals.Rider Linden
2015-03-23Microsoft is not nearly picky enough. Headder issues caught by gcc MS likes ↵Rider Linden
fine.
2015-03-23Fix headers for gcc buildRider Linden
2015-03-23Scratch the unique_ptr for the moment.Rider Linden
2015-03-23Slightly cleaner than this-> ing everythnig.Rider Linden
2015-03-23Continue with gcc issues.Rider Linden
2015-03-23Reogranized some headers for GCC added <memory> to the linden_common.h for ↵Rider Linden
shared_ptr
2015-03-20Clean up and use policies for Material transfer.Rider Linden
2015-03-19Adding new HTTP handling for material manager.Rider Linden
2015-03-16Removal of RPCXML dep on LLCurl switching to LLCore::HtmlRider Linden
2015-01-13merge changes for 3.7.24-releaseOz Linden
2014-11-14Remove a couple tests for unsigned long < 0.Nat Goodspeed
clang correctly notes that such tests add nothing to the runtime behavior of a program. Unfortunately, clang notes that in the form of a compile error.
2014-11-14Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2014-11-06BUG-7698, BUG-7688, BUG-7694 (others) CDN connection issues.Monty Brandenberg
Under pipelining, requests were given a 5x timeout factor due to the way that the timeout clock works in libcurl. Under CDN load, connections were not being torn down quickly and it was only this timer that led to disconnect and retry. So, we want to break a connection that isn't making progress but that isn't immediately possible. We'll compromise with a 60S timeout that (we hope) will be neither too long for stalled connections nor too short for large asset transfer requests.
2014-10-17Update to build on Xcode 6.0: remove unused codecallum_linden
2014-10-17Update to build on Xcode 6.0: clang detecting unsigned int (size_t) ↵callum_linden
comparison with <0 [-Wtautological-compare]
2014-10-17Update to build on Xcode 6.0: interesting - clang doesn't like it if you ↵callum_linden
specify extra components of a format string that aren't populated in snprintf
2014-10-10MAINT-4564 HTTP Pipelining is not happening in Drano HTTP Phase 4Monty Brandenberg
Incorporate the new libcurl 7.38.0 build with curl bug 1420 workaround. Add developer-centric testing code to evaluate the workaround or a future fix for 1420.
2014-09-22Tuning and documentation. Use a fast poll frequency (0.05S)Monty Brandenberg
on the HTTP requests for inventory. We'll benchmark with that and see how it goes. Document some of the history of the background fetcher for future devs. Suggest some future projects to make things faster. Pointers on using LLSD with the llcorehttp library in the readme. And restructured the LLSD onCompleted() processing phases using do{}while(false) which produced a code flow that is fairly attractive.
2014-09-19Introduce libcurl handle cache. Create a private cacheMonty Brandenberg
of used handles and a fast handle factory that's thread- correct.
2014-09-18Documentation. Describe curl bug 1420 testing and how toMonty Brandenberg
reproduce data corruption via timeouts.
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-12Better support for dynamic option changes in llcorehttp. Libcurl hasMonty Brandenberg
some problems disabling pipelining on a multi handle with outstanding requests so build a more conservative system that allows requests to drain before setting curl multi options. Would rather not have this but it is significantly safer. "HttpPipelining" debug setting is now fully dynamic. Connection limits can also be made dynamic in the near future. Upped the default connection count back to 8 for now but will revisit this in the tuning phase. It might be time to combine mesh and textures into a single asset class. For normal server operations that would be a clear path, but for server under load, the current scheme may be better. Minor cleanup in logging to elminate some redundant strings. Might add some more tracing to the stall logic 'just in case'.
2014-07-03Add pipelining and tracing command line options to the test program.Monty Brandenberg
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-05-13sunshine-external merge WIPBrad Payne (Vir Linden)
2014-02-25merge viewer-release to sunshine-externalBrad Payne (Vir Linden)
2014-02-24merge with releaseRichard Linden
2014-01-09fixed unit tests being generated as Windows GUI projects instead of console ↵Richard Linden
projects
2013-10-16mergeBrad Payne (Vir Linden)
2013-10-08merge from viewer-releaseRichard Linden
2013-10-04Convert one more unit test over to improved waiting scheme to avoid build ↵Monty Brandenberg
failures.
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-18SH-4492 Create a useful README for llcorehttpMonty Brandenberg
Last bit for this release. Describe stream adapters and how to select a policy class. Slight changes to setup code to make reality reflect documentation.
2013-09-17SH-4492 Create a useful README for llcorehttp.Monty Brandenberg
First edit complete. Use the library in 15 minutes. Describe the code. Refinements to the initial try. Describe that code. Still to do: more refinements, how to choose a policy class, FAQ.
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-08-19Add 'internal'/'external' token to DEBUG retry message so that dev/QAMonty Brandenberg
can know exactly where a retry value was sourced.
2013-08-16SH-4407 Tuning to get new code working as well.Monty Brandenberg
Do some runtime code avoidance and skip unnecessary libcurl and syscall invocations.