Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
host bake, map tile, etc - down the chain so LLTextureFetchWorker can adjust behavior as needed
|
|
Most of the merge was clean, a couple conflicts.
Brought over a couple patches manually for llpolymesh.
|
|
|
|
http phase 1 Some missing counter initialization kept the debugger
from entering the startup state giving the appearance of a do-
nothing floater. Also found some unbound recursion that might need
looking at in the future. (There's a comment.)
|
|
request. During readcallback, would generate an overrun-type message
about reading position beyond end-of-data. Mistake was is messaging
when state is exactly at end of data (which is expected) versus an
overrun. Both result in declaring end-of-data to libcurl. Also
changed some of the status logging for the metrics payload to be
less chatty on success, more informative on error.
|
|
|
|
|
|
alignment issue in llAppearance.
|
|
|
|
|
|
|
|
|
|
out-of-order deletion of LLTextureFetch on shutdown
|
|
cmake and other files didn't get moved over, do it by hand.
|
|
Restore original deleteRequest/removeRequest implementation removing
a small race. Remove a short-lived additional timeout scheme on requests
which really isn't appropriate as originally implemented as we can have
very long-lived requests on big regions.
|
|
This was yet another refresh from v-d because of significant changes
to lltexturefetch that would not have been resolvable by casual
application of any merge tool. There are still a few questions
outstanding but this is the initial, optimistic merge.
|
|
|
|
|
|
|
|
|
|
|
|
This doesn't really address 3325 directly but it is the result of research
done while hunting it down. First, this is a thread safety improvement for
canceled requests that have gone into resource wait state. I don't think
we've seen a failure there but there was a window. It also cleans the
resource wait queue earlier which lets us do less work and get requests
more quickly into llcorehttp by bypassing the resource wait state. With
this, I finally feel comfortable about rundown of requests.
|
|
A/B comparison with original code showed the newer issuing lower-priority
requests of the cache reader and some other minor changes. Brought them
into agreement (this is cargo-cult programming). Made the HTTP resource
semaphore an atomic int for rigorous correctness across threads. I
swear I'm going to tear down this code someday.
|
|
Dropped an argument during integration which made the total byte count read
lower than expected. Everything else is fine, however.
|
|
|
|
|
|
|
|
|
|
|
|
Isolate llcorehttp initialization into a utility class (LLAppCoreHttp)
that provides glue between app and library (sets up policies, handles
notifications). Introduce 'TextureFetchConcurrency' debug setting to
provide some field control when absolutely necessary.
|
|
continued clean up of llstats stuff
|
|
Move releaseHttpWaiters() to commonUpdate from doWork.
More appropriate home for it. Have deleteOK() defer deletion
of anything in WAIT_HTTP_RESOURCE2 state to keep pointers valid
for the releaseHttpWaiters() method. It will then transition
canceled operations to SEND_HTTP_REQ where they can be deleted.
|
|
clean up of llstats stuff
|
|
When releasing HTTP waiters, avoid unnecessary sort activity.
For Content-Type in responses, let libcurl do the work and removed
my parsing of headers. Drop Content-Encoding as libcurl will deal
with that. If anyone is interested, they can parse.
|
|
connection failure happens
|
|
Well, achieved that by doing work in bulk when needed. But
turned into some additional things. Change timebase from
mS to uS as, well, things are headed that way. Implement
an HttpReplyQueue::fetchAll method (advertised one, hadn't
implemented it).
|
|
A 416 will just mean there's no more data and whatever we have
is complete.
|
|
|
|
Doesn't use sets or maps and so there's no ordering assumption to
be violated when priorities are changed. Should also be faster.
Still want to get rid of the ancillary list, however...
|
|
First, try to issue ranged GETs that are always at least partially
satisfiable. This will keep Varnish-type caches from simply sending
back 200/full asset responses to unsatisfiable requests. Implement
awareness of Content-Range headers as well. Currently they're not
coming back but they will be someday.
|
|
|
|
|
|
|
|
The fetch state machine received a new timeout during the WAIT_HTTP_REQ
state. For the integration, rather than jump the state to done, we issue
a request cancel and let the notification plumbing do the rest without
any race conditions or special-case logic.
|
|
Big delta was converting the new texture debugger support code
to the new library. Viewer manifest should probably get an eyeball
before release.
|
|
|
|
|