Commit Graph

61 Commits (fee815a45de9e2b4e931fef830ebaf8568ebe804)

Author SHA1 Message Date
Ansariel 304b9726de Merge Firestorm LGPL 2016-08-15 16:42:36 +02:00
Ansariel 2eadb31a05 Merge cleanup 2016-08-13 23:35:56 +02:00
Ansariel 0054c93c3f Merge Firestorm LGPL 2016-08-11 00:17:47 +02:00
Ansariel b8f2d2801b Merge Firestorm LGPL 2016-07-26 18:42:13 +02:00
Ansariel 067b1c232e Merge viewer-lynx 2016-07-13 10:16:47 +02:00
Ansariel a6b8e0c0e0 Backed out changeset 947e044fa5f1 (FIRE-19557; Make sure LLEventPollImpl does not get destroyed as long as the coroutine needs the this pointer.) as LL fix is coming up 2016-07-13 09:06:52 +02:00
Rider Linden 664f1f9b6f STORM-2132: Remove obsoleted unique_ptr.hpp, use make_shared for pointer allocation. 2016-07-12 11:07:05 -07:00
Rider Linden c0407af8ab STORM-2132: Remove obsoleted unique_ptr.hpp, use make_shared for pointer allocation. 2016-07-12 11:07:05 -07:00
Rider Linden 2c68d02395 MAINT-6565: Grab a shared pointer and encapsulate it into the bind call in place of this. Ensures that the impl is not deleted while the coroutine is active. 2016-07-11 16:33:11 -07:00
Ansariel 3239139709 Backed out changeset 947e044fa5f1 (Crash fix in LLEventPollImpl) for fix from Linden Lab 2016-07-26 10:17:17 +02:00
Ansariel 75abd53121 Restore pre-coro behavior for event polling (60s timeout, no retries) 2016-07-26 10:14:52 +02:00
Rider Linden c1c9b3d74e MAINT-6565: Grab a shared pointer and encapsulate it into the bind call in place of this. Ensures that the impl is not deleted while the coroutine is active. 2016-07-11 16:33:11 -07:00
Ansariel ea49fe4d82 Merge bento-box 2016-07-07 09:46:49 +02:00
Brad Payne (Vir Linden) cba0bb3038 SL-109 - little bit of log spam cleanup 2016-07-05 16:18:50 -04:00
Nicky 59b3d6fff6 FIRE-19557; Make sure LLEventPollImpl does not get destroyed as long as the coroutine needs the this pointer. 2016-07-04 21:49:40 +02:00
Nicky 2aad1ecd90 FIRE-19415; Warn about messages with no body element. 2016-06-04 18:11:28 +02:00
Ansariel 2797c5938a Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
Rider Linden 2763bbd975 Initial changes for Vivox/Azumarill merge. Lots of temporary code and conditional compile switches. Begin switch from statemachine to coroutine. 2015-12-04 14:27:22 -08:00
Rider Linden 429729b592 MAINT-5804, MAINT-5890: Incorrectly trapping timeout in event poll and canceling coroutine before it's finished. 2015-11-19 17:15:17 -08:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Rider Linden bbb9d4f21b MAINT-5732: Change to the way event polling handles error conditions and cancel calls.
Refactor any remaining LLCore::HTTPHandlers to use boost::shared_ptr
Started minor refactor in the materials manager into coroutines (unfinished)
2015-10-14 17:46:24 -07:00
Rider Linden 75c6549fde Set consistent terminology for yield/wait -> suspend for coroutines. 2015-09-18 11:39:22 -07:00
Nat Goodspeed f1be78f7e2 MAINT-5351: Finish messy merge restoring 'selfless' changes. 2015-07-11 08:06:15 -04:00
Nat Goodspeed efa9a0f99c Backed out changeset bab1000e1b2d: restore 'selfless' changes 2015-07-10 19:30:10 -04:00
Rider Linden 247eb0c9c3 Backout selfles merge 738255dbbfd679d9e615baab3398e5e345bbb3c5 2015-07-07 19:41:27 +01:00
Nat Goodspeed b262ded7e0 MAINT-5351: Remove 'self' parameter from coroutine functions.
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-07-01 18:33:29 -04:00
Rider Linden 0d3fb07bfa Remove vestigial httpclient.h include from files that no longer need it. 2015-06-03 16:04:40 -07:00
Rider Linden 3e004ce66e Updated feature manager downloader to coroutine.
Added "raw" coroutine handler (returns raw result as LLSD::Binary) and split out the guts of the get, put, etc methods.
Moved getStatusFromLLSD from HttpCoroHandler into HttpCorutineAdapter
2015-05-11 16:52:02 -07:00
Rider Linden 794cdbc2ae Issue with LL_WARNS_IF sort out later. 2015-04-09 17:14:39 -07:00
Rider Linden e28a5b6ead Added LL_WARNS_IF to llerror.h
If the coro is given something other than a map from the http then move the return into a body section.
Changed windlight to use a coroutine and the new LLCore::Http libarary.
Extra comments into Event Polling.
2015-04-09 16:46:41 -07:00
Rider Linden fb082a185d Couple of cleanup items.
Switch to Long poll HTTP policy for event polling.
2015-04-08 17:25:01 -07:00
Rider Linden 6aa2812fad Removed dead code 2015-04-08 15:56:25 -07:00
Rider Linden 9965e13e83 Added timeout on failure. 2015-04-08 15:54:34 -07:00
Rider Linden 93382ee0c0 Moved some LLEventPolling internal classes to a named namespace
Canceling outstanding polling transactions
2015-04-08 14:29:37 -07:00
Rider Linden 1c91c8a106 Adding weak pointer support.
Event polling as a coroutine. (incomplete)
Groundwork for canceling HttpCoroutineAdapter yields.
2015-04-08 10:17:34 -07:00
Brad Payne (Vir Linden) 487ca1bad3 v-r -> s-e merge WIP 2014-05-14 17:50:59 -04:00
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04:00
Don Kjer 7866356d77 Merge viewer-release => sunshine-internal 2013-10-29 13:20:18 +00:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Brad Payne (Vir Linden) a04a706c1b merge 2013-05-21 16:18:48 -04:00
Graham Madarasz 025c890958 Merge vwr-dev-mat 2013-05-01 08:11:15 -07:00
Graham Madarasz 806d09b114 Merge 3.5.1 into Materials 2013-04-30 19:50:05 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Don Kjer f945415210 Large changes to the LLCurl::Responder API, as well as pulling in some 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-13 06:26:25 +00:00
Don Kjer 54cdc322b8 Fixing issues with not detecting when LLSD XML parsing fails. Changing most http error handlers to understand LLSD error responses. Fleshing out most http error handler message spam. 2013-03-05 22:05:22 -08:00
Dave Parks 374f20edf0 Fix non-thread-safe refcounting of LLHTTPClient::Responder and fix out-of-order deletion of LLTextureFetch on shutdown 2012-10-03 14:30:21 -05:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Tofu Linden ec0dd8968c Update the rest of the LLEventTimer users to #include lleventtimer.h. I think. 2010-02-06 19:19:07 +00:00