Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
who want to try IPV6 can still override at will using CURLOPT_IPRESOLVE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
now avoiding doing HTTP fetches for read data. Not certain it's
completely correct but the difference is already significant.
|
|
Went through all the code and tried to document lock and thread usage
in the module. There's a huge comment block introducing all of this
at the beginning and I believe it's correct (though not quite complete).
Keep it updated, people. Added a new state, WAIT_HTTP_RESOURCE, that's
sort of a side-state of SEND_HTTP_REQ. If we hit a high-water mark
for HTTP requests, the extra are shunted to the new state once. Once
levels fall to a low-water mark, we run through a wait list of UUIDs,
sort the valid ones by priority and release them for service. This
keeps the HTTP layer busy while leaving the active queue shallow enough
that requests can still be re-prioritzed cheaply. Priority model
changed. The new state uses the PRIORITY_LOW mask, the old users
of _LOW are now at PRIORITY_NORMAL and sleepers woken up after an
external event are kicked off at PRIORITY_HIGH. This combination
along with the new state should avoid priority inversion and keep
things running without resorting to an infinite pipeline. New
state displays as "HTW" with green text in the texture console.
Request cancelation and worker run-down should now be more
correct but this edge case may need more attention.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
API update.
|
|
|
|
|
|
|
|
Over the years we've skipped more and more of the tests in
llhttpclient_test.cpp (nee llhttpclient_tut.cpp) because they've relied on
particular behaviors from Internet sites not under our control.
We skipped a test that fetches llsd+xml from secondlife.com because
"secondlife.com is not reliable enough for unit tests."
We skipped a test that tries to observe a failure with "http://www.invalid"
because some local ISPs turn "no such domain" DNS errors into valid pages
offering the requester to buy the specified domain name.
Today we've had to skip tests attempting to contact "http://www.google.com"
for reasons we haven't yet diagnosed, but that probably have to do with
Google's IPv6 rollout.
Use local temp server test_llsdmessage_peer.py as the success destination,
eliminating DNS, Internet access and remote server behavior as failure modes.
Use idle localhost port for failure test.
Re-enable all skipped LLHTTPClient tests!
Re-enable on Windows!
In support of these tests, modify test_llsdmessage_peer.py:
Support HEAD as no-data variant of GET.
Change GET result dict to avoid resembling an error response -- confusing.
Make GET/POST return actual dict rather than undecorated string "success".
Because of that last, change llcapabilitylistener_test.cpp and
llsdmessage_test.cpp to extract "reply" key from response rather than
expecting response to be a string itself.
|
|
services. This changeset should be undone.
|
|
indra/test/llhttpclient_tut.cpp ==> indra/llmessage/tests/llhttpclient_test.cpp,
with corresponding CMakeLists.txt changes in their respective directories.
This first commit merely moves the test source file without changing it --
separating out moves from edits simplifies code review.
|
|
http://hg.lindenlab.com/nat/viewer-maint-1144/ to resolve build issues.
|
|
Today, 2012-06-06, LLHTTPClient::get("http://www.google.com/") has stopped
working. This is unrelated to viewer code changes: it crosses repo boundaries.
Skip the afflicted tests to get builds working until we can recast the tests
to avoid the flaky dependency.
|
|
|
|
|
|
|
|
|
|
|
|
The change from LLProcessLauncher to LLProcess introduces the possibility of a
NULL (default-constructed) LLProcessPtr. Add certain static LLProcess methods
accepting LLProcessPtr, forwarding to nonstatic method when non-NULL but doing
something reasonable with NULL. Use these methods in LLPLuginProcessParent.
|
|
|
|
|
|
Implemented first global policy definitions to support SSL CA certificate configuration
to support https: operations. Fixed HTTP 206 status handling to match what is currently
being done by grid services and to lay a foundation for fixes that will be a response
to ER-1824. More libcurl CURLOPT options set on easy handles to do peer verification
in the traditional way. HTTP POST working and now reporting asset metrics back to
grid for the viewer's asset system. This uses LLSD so that is also showing as compatible
with the new library.
|