summaryrefslogtreecommitdiff
path: root/indra/llcorehttp
AgeCommit message (Collapse)Author
2015-07-08Enforcing constness of refsRider Linden
2015-07-08Update the unit tests to use the new pointer type.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-06-29MAINT-4952: Use IntrusivePtr for BufferArray,HttpHeaders,HttpOptions.Nat Goodspeed
Specifically, change the ptr_t typedefs for these LLCore classes to use IntrusivePtr rather than directly using boost::intrusive_ptr. This allows us to use a simple ptr_t(raw ptr) constructor rather than having to remember to code ptr_t(raw ptr, false) everywhere. In fact, the latter form is now invalid: remove the now-extraneous 'false' constructor parameters.
2015-06-29MAINT-4952: Add IntrusivePtr wrapper for boost::intrusive_ptr.Nat Goodspeed
For a RefCounted subclass T, boost::intrusive_ptr<T> must be instantiated as boost::intrusive_ptr<T>(raw ptr, false) to avoid immortal instances. Forgetting that final bool parameter is both easy and extremely hard to spot with desk checking or code review. IntrusivePtr<T> provides constructors that Do The Right Thing, so we can typedef a subclass T's ptr_t to IntrusivePtr<T> rather than directly to boost::intrusive_ptr<T>.
2015-06-24MAINT-5295 Remove POSTFIELDS from PUT operation.Rider Linden
2015-06-05Mac builds are very picking about testing an unsigned for < 0Rider Linden
2015-06-05Added a seek method to LLCore::Http for data rewind.Rider Linden
A couple of minor changes to merchant out box in hopes that the would fix the issues.
2015-06-01Set follow redirects so that the default is the same when no options are are ↵Rider Linden
specified and when follow redirects is not specified on the options object.
2015-05-27Memory leak (extra ref) in webprofileRider Linden
Viewer media routines to coroutine. Post with raw respons in llcorehttputil LLCore::Http added headers only option (applies only on get)
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)