summaryrefslogtreecommitdiff
path: root/indra/llmessage/llavatarnamecache.cpp
AgeCommit message (Collapse)Author
2017-02-15MAINT-7118 Swapping legacy people API with new cacheandreykproductengine
2016-08-18MAINT-5011: Catch unhandled exceptions in LLCoros coroutines.Nat Goodspeed
Wrap coroutine call in try/catch in top-level coroutine wrapper function LLCoros::toplevel(). Distinguish exception classes derived from LLContinueError (log and continue) from all others (crash with LL_ERRS). Enhance CRASH_ON_UNHANDLED_EXCEPTIONS() and LOG_UNHANDLED_EXCEPTIONS() macros to accept a context string to supplement the log message. This lets us replace many places that called boost::current_exception_diagnostic_information() with LOG_UNHANDLED_EXCEPTIONS() instead, since the explicit calls were mostly to log supplemental information. Provide supplemental information (coroutine name, function parameters) for some of the previous LOG_UNHANDLED_EXCEPTIONS() calls. This information duplicates LL_DEBUGS() information at the top of these functions, but in a typical log file we wouldn't see the LL_DEBUGS() message. Eliminate a few catch (std::exception e) clauses: the information we get from boost::current_exception_diagnostic_information() in a catch (...) clause makes it unnecessary to distinguish. In a few cases, add a final 'throw;' to a catch (...) clause: having logged the local context info, propagate the exception to be caught by higher-level try/catch. In a couple places, couldn't resist reconciling indentation within a particular function: tabs where the rest of the function uses tabs, spaces where the rest of the function uses spaces. In LLLogin::Impl::loginCoro(), eliminate some confusing comments about an array of rewritten URIs that date back to a long-deleted implementation.
2016-08-17MAINT-5011: Try to enrich catch (...) logging throughout viewer.Nat Goodspeed
Turns out we have a surprising number of catch (...) clauses in the viewer code base. If all we currently do is LL_ERRS() << "unknown exception" << LL_ENDL; then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is LL_WARNS() << "unknown exception" << LL_ENDL; then call LOG_UNHANDLED_EXCEPTION() instead. Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches LLContinueError yet, eliminate LLContinueError& parameter from LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level. Where a catch (...) clause actually provides contextual information, or makes an error string, add boost::current_exception_diagnostic_information() to try to figure out actual exception class and message.
2016-04-04merge with 4.0.3-releaseOz Linden
2016-03-07merge DRTVWR-398 build cleanup fixesOz Linden
2016-02-12Suppress some overly verbose loggingOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-09-18Set consistent terminology for yield/wait -> suspend for coroutines.Rider Linden
2015-07-10Backed out changeset bab1000e1b2d: restore 'selfless' changesNat Goodspeed
2015-07-07Backout selfles merge 738255dbbfd679d9e615baab3398e5e345bbb3c5Rider Linden
2015-07-01MAINT-5351: Remove 'self' parameter from coroutine functions.Nat Goodspeed
lleventcoro_test.cpp runs clean (as modified for new API), and all the rest builds clean, but the resulting viewer is as yet untested.
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-09Removed homelocation responder (rolled into llagent)Rider Linden
Removed sdhandler from llagent. Removed unused values from llacountingccostmgr Fixed smart pontier creation in llfacebook
2015-06-03Remove vestigial httpclient.h include from files that no longer need it.Rider Linden
2015-04-13MergeRider Linden
2015-04-13Formatting change to get past merge conflict.Rider Linden
2015-04-07Results from code review with Nat. Consolidate some of the coroutine/http ↵Rider Linden
code into a single adapter.
2015-04-02detect xml errors in parsing xml files and remove those filesOz Linden
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.
2014-03-12mergeBrad Payne (Vir Linden)
2013-11-06MAINT-3374 FIXED Don't show username after display name if this setting is ↵Mnikolenko ProductEngine
disabled.
2013-05-21mergeBrad Payne (Vir Linden)
2013-04-19merge changes for DRTVWR-294Oz Linden
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-29Update Mac and Windows breakpad builds to latestGraham Madarasz
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-11Viewer-chui mergeprep
2013-03-05Fixing issues with not detecting when LLSD XML parsing fails. Changing most ↵Don Kjer
http error handlers to understand LLSD error responses. Fleshing out most http error handler message spam.
2013-01-10Merge pull from lindenlab/viewer-betaMerov Linden
2013-01-03MAINT-2184 [crashhunters] new crash in LLUUID::toStringKelly Washington
Fix dangling references.
2012-12-14CHUI-599 : Use the account name in all places that are not UI related but ↵Merov Linden
use avatar names to index, search and other code only uses.
2012-12-07CHUI-580, CHUI-406 : Fixed : Finished avatar name caching, also fixed the ↵Merov Linden
display of (waiting) when names don't come (mostly in legacy mode).
2012-12-07CHUI-580 : Fixed : Clean up the use of display name. Allow the use of the ↵Merov Linden
legacy protocol in settings.xml
2012-12-05CHUI-580 : WIP : Change the display name cache system, deprecating the old ↵Merov Linden
protocol and using the cap (People API) whenever available. Still has occurence of Resident as last name to clean up.
2012-11-12MAINT-1897 Poor performance viewing large group member listsKelly Washington
* Split avatar name requests up among multiple frames to prevent overloading the nameserver and having requests time out.
2012-08-20merge back beta fixesOz Linden
2012-08-13PATH-849: CRASHFIX This should fix the crash caused by ↵Todd Stinson
LLPathfindingObject::handleAvatarNameFetch being called after the corresponding LLPathfindingObject has been deleted.
2012-05-03SH-3079 FIX - minimize retries and avoid log spam when people API is missingBrad Payne (Vir Linden)
2011-04-28STORM-1039 FIXED Bad iterator access in llavatarnamecache.cpp:564Richard Linden
missed else case
2011-04-28STORM-1039 FIXED Bad iterator access in llavatarnamecache.cpp:564Richard Linden
fixed crash on startup
2011-04-15STORM-1039 FIXED Bad iterator access in llavatarnamecache.cpp:564Paul ProductEngine
- Replaced 'while' loop by 'for' - Deleted unnecessary 'cur' iterator
2011-01-18remove problematic include used during debugOz Linden
2011-01-18make storing the cache obey the same unrefreshed time as other usageOz Linden
2011-01-16DN-202: Make avatar name caching more aggressive and error handling more uniformOz Linden
Add logging (mostly at DEBUG level)
2011-01-15renamed temp name flag member in name cache to avoid confusion with similar ↵Oz Linden
names in other classes
2010-12-09Falling back to legacy cache on display name fetch errorleyla_linden
2010-11-11Turning down dummy avatar name entry expiration to 2 minutesLeyla Farazha
2010-09-13DEV-52931 Toggling "View Display Names" doesn't take effect right away in ↵Leyla Farazha
the Friends list
2010-09-04Correct license on newly exported files to LGPL.Aimee Linden