summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-07-18SH-4325 Viewer working mixed grid with GetMesh and GetMesh2 capsMonty Brandenberg
Viewer modified for preference for GetMesh2 caps. When found, uses this cap and uses 1/4 the connection concurrency specified by MeshMaxConcurrentRequests. Also uses a modified calculation for high/low water feeding into the llcorehttp library.
2013-07-12SH-4312 Configuration data between viewer and llcorehttp is clumsy.Monty Brandenberg
Much improved. Unified the global and class options into a single option list. Implemented static and dynamic setting paths as much as possible. Dynamic path does require packet/RPC but otherwise there's near unification. Dynamic modes can't get values back yet due to the response/notifier scheme but this doesn't bother me. Flatten global and class options into simpler struct-like entities. Setter/getter available on these when needed (external APIs) but code can otherwise fiddle directly when it knows what to do. Much duplicated options/state removed from HttpPolicy. Comments cleaned up. Threads better described and consistently mentioned in API docs. Integration test extended for 503 responses with Reply-After headers.
2013-07-08Found the memory corruptor. String trimmer didn't have a validMonty Brandenberg
termination test. Sheesh. Also get some more numbers out of the example/load test program which drives traffic. This should give some useful insights into how the current http throttle works (or doesn't) with varying client demands.
2013-07-03Merge. Same repo - mix of windows and linux work.Monty Brandenberg
2013-07-03Update the example program so it handles meshes as well. Fix theMonty Brandenberg
request feed logic to use high/low-water level logic as is done in viewer code.
2013-06-29Orphaned declaration preventing compilation.Monty Brandenberg
2013-06-28SH-4312 Clumsy configuration coordination between mesh and corehttpMonty Brandenberg
Taught llappcorehttp to register signals on the settings values that chagne behavior. Have initialization and settings changes sweep through settings and change them. Dynamic changes are tried but have no effect (produce a warning message) as dynamic settings still aren't supported but the plumbing is now connected. Just need to change llcorehttp. Bounced the 'teleport started' signal around and it ended up back where it started with some cleanup. This is making me less angry...
2013-06-28SH-4257 Prepare for new 'GetMesh2' capability.Monty Brandenberg
Needed to move the cap from response to region instance.
2013-06-27SH-4311 Get highwater limiting of requests into llhttpcore working.Monty Brandenberg
Fixed the logic and have it covering all five types of requests now with validation via an assert (when enabled). Should keep things working smoothly and avoid floods of 503s when in debug modes. Also started a round of file-level documentation detailing thread usage and mutex coverage. More to do, more to describe. But the high- water stuff is functioning correctly.
2013-06-27SH-4310/BUG-2810/MAINT-2794 Better status checking and error logging in ↵Monty Brandenberg
Mesh code. Pay correct attention to status codes coming back from services. Generate better and consistent error messages when problems arise. There's more to do in error handling, need a way to cleanly fail all request types, only have that for LOD at this point. Do better keeping the HTTP pipeline between the low and high water marks. This was made challenging because the outer most code couldn't really see what's going on internally (whose actions are delayed in a worker thread). More to do here, the debug-like requests don't honor limits, that will come later. Made retry counts available from llcorehttp which can be used by the throttle-anticipating logic to advance the count. It helps but it reinforces the coupling between viewer and server which I do not like.
2013-06-20SH-4257 Preparation for a new cap grant: GetMesh2Monty Brandenberg
Mesh repo is using three policy classes now: one for large objects, one for GetMesh2 regions, one for GetMesh regions. It's also detecting the presence of the cap and using the correct class. Class initialization cleaned up significantly in llappcorehttp using data-directed code. Pulled in the changes to HttpHeader done for sunshine-internal then did a refactoring pass on the header callback which now uses a unified approach to clean up and deliver header information to all interested parties. Added support for using Retry-After header information on 503 retries.
2013-06-19Fixups for the transplant of the HttpHeader changes from sunshine.Monty Brandenberg
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-06-07Mostly cleanup. A chunk of comment code nobody needs. DereferenceMonty Brandenberg
after delete, erase() on end() iterator, a few more like that. Killed a dead variable.
2013-06-03Merge. Refresh from viewer-release merged with in-progress work.Monty Brandenberg
2013-06-03SH-4184 Conversion to llcorehttp. Remove unneeded responderMonty Brandenberg
classes (moved to Handlers).
2013-05-30Merge. Pull viewer-release to get the new version scheme changes.Monty Brandenberg
2013-05-29increment version to 3.5.4Oz Linden
2013-05-29Added tag 3.5.3-release for changeset a277b841729fOz Linden
2013-05-23MAINT-2724: Make viewer explicitly set coroutine stack size.Nat Goodspeed
Introduce LLCoros::setStackSize(), with a compile-time default value we hope we never have to use. Make LLAppViewer call it with the value of the new settings variable CoroutineStackSize as soon as we've read settings files. (While we're at it, notify interested parties that we've read settings files.) Give CoroutineStackSize a default value four times the previous default stack size. Make LLCoros::launch() pass the saved stack size to each new coroutine instance. Re-enable lleventcoro integration test. Use LLSDMap() construct rather than LLSD::insert(), which used to return the modified object but is now void.
2013-05-22merge changes for chui-967Oz Linden
2013-05-22CHUI-967: fix display of % escapes in chatGilbert Gonzales
2013-05-21merge changes for maint-2628Oz Linden
2013-05-21merge changes for chop-947Oz Linden
2013-05-21BUG-2432: Crashfix. Don't call map::erase when the iterator is not valid.Oz Linden
2013-05-21merge changes for chop-948Oz Linden
2013-05-21NORSPEC-196: fix frame stalls caused by FmodEx loggingcallum_linden
2013-05-21revise test for hg to detect and ignore incorrect results from cygwin hgOz Linden
2013-05-21CHOP-947: create summary.json (really python) metadata file for TeamCity resultsOz Linden
2013-05-21CHOP-948: correctly persist the UpdaterWillingToTest preferenceOz Linden
2013-05-17increment version to 3.5.3 to be higher than the releaseOz Linden
2013-05-17Added tag 3.5.2-release for changeset 9b1b6f33aa53Oz Linden
2013-05-15Added tag 3.5.2-beta6 for changeset 9013c07bfe1cOz Linden
2013-05-15MAINT-2665: fix crashes being counted as wrong type in last_exec_event due ↵Oz Linden
to log macro wrapper
2013-05-13CHOP-942: fix crash if update check times outOz Linden
2013-05-10Added tag 3.5.2-beta5 for changeset 895628bb5e16Oz Linden
2013-05-10merge changes for MAINT-2647Oz Linden
2013-05-10tag merge of MAINT-2647Oz Linden
2013-05-09Added tag 3.5.2-beta4 for changeset a314f1c94374Oz Linden
2013-05-09MAINT-2647 Fix for some objects not rendering until first LoD switch/selection.Dave Parks
2013-05-09MAINT-2665 FIX Crashes not being reported in some casesRichard Linden
made marker file lock use append, not truncate
2013-05-08SH-4163 Run an initial series of 'B' tests on the mesh downloader codeMonty Brandenberg
Bleh, had some old initialization code in place that meant I was using 32 connections. (Always verify with 'netstat'...) Logic is now to use 1/4 of MeshMaxConncurrentRequests to head in the direction of 8 at a time. Full count is used to implement a high-water level keeping llcorehttp in work.
2013-05-08SH-4139 Convert http downloaders and responders to llcorehttp patternsMonty Brandenberg
Conversion was mostly trivial. Did some refactoring in the conversion of Responders to Handlers which eliminated 5X code replication. More will be done especially as this is extended to deal with the various possible combinations of 200/206/416 status for ranged gets. There are a lot of thread races in the existing code, that is going to need some real attention. And the scheduling/liveness logic in the thread management bounces around from thread to thread wasting a lot of time and using expensive synchronization. Much can be done here. But the result is that the 8 connections in the Mesh corehttp class now perform as did the 32 connections of the original. And that 32 actually looks like it could bleed to over 64. So, progress...
2013-05-07Added tag 3.5.2-beta3 for changeset b6a4ac8f1916Oz Linden
2013-05-07SH-4162 Merge metrics repo into this branch and integrateMonty Brandenberg
Pull cpu-based metrics into llcorehttp work to enable A/B testing. Simple merge.
2013-05-07SH-4139 Convert http downloaders and responders to llcorehttp patternsMonty Brandenberg
First version running with all five downloaders converted. Not certain all are functional yet and the whole thing is slow but it is running.
2013-05-07merge changes for DRTVWR-299Oz Linden
2013-05-07tag merge of DRTVWR-299Oz Linden
2013-05-07merge changes for DRTVWR-315Oz Linden