Skip to content
Snippets Groups Projects
  • Monty Brandenberg's avatar
    b08125a5
    LLMutex recursive lock, global & per-request tracing, simple GET request,... · b08125a5
    Monty Brandenberg authored
    LLMutex recursive lock, global & per-request tracing, simple GET request, LLProxy support, HttpOptions starting to work, HTTP resource waiting fixed.
    Non-LLThread-based threads need to do some registration or LLMutex locks taken out in these
    threads will not work as expected (SH-3154).  We'll get a better solution later, this fixes
    some things for now.  Tracing of operations now supported.  Global and per-request (via
    HttpOptions) tracing levels of [0..3].  The 2 and 3 levels use libcurl's VERBOSE mode
    combined with CURLOPT_DEBUGFUNCTION to stream high levels of detail into the log.  *Very*
    laggy but useful.  Simple GET request supported (no Range: header).  Really just a
    degenrate case of a ranged get but supplied an API anyway.  Global option to use the
    LLProxy interface to setup CURL handles for either socks5 or http proxy usage.  This
    isn't really the most encapsulated way to do this but a better solution will have to
    come later.  The wantHeaders and tracing options are now supported in HttpOptions giving
    per-request controls.  Big refactoring of the HTTP resource waiter in lltexturefetch.
    What I was doing before wasn't correct.  Instead, I'm implementing the resource wait
    after the Semaphore model (though not using system semaphores).  So instead of having
    a sequence like:  SEND_HTTP_REQ -> WAIT_HTTP_RESOURCE -> SEND_HTTP_REQ, we now
    do WAIT_HTTP_RESOURCE -> WAIT_HTTP_RESOURCE2 (actual wait) -> SEND_HTTP_REQ.  Works
    well but the prioritized filling of the corehttp library needs some performance
    work later.
    b08125a5
    History
    LLMutex recursive lock, global & per-request tracing, simple GET request,...
    Monty Brandenberg authored
    LLMutex recursive lock, global & per-request tracing, simple GET request, LLProxy support, HttpOptions starting to work, HTTP resource waiting fixed.
    Non-LLThread-based threads need to do some registration or LLMutex locks taken out in these
    threads will not work as expected (SH-3154).  We'll get a better solution later, this fixes
    some things for now.  Tracing of operations now supported.  Global and per-request (via
    HttpOptions) tracing levels of [0..3].  The 2 and 3 levels use libcurl's VERBOSE mode
    combined with CURLOPT_DEBUGFUNCTION to stream high levels of detail into the log.  *Very*
    laggy but useful.  Simple GET request supported (no Range: header).  Really just a
    degenrate case of a ranged get but supplied an API anyway.  Global option to use the
    LLProxy interface to setup CURL handles for either socks5 or http proxy usage.  This
    isn't really the most encapsulated way to do this but a better solution will have to
    come later.  The wantHeaders and tracing options are now supported in HttpOptions giving
    per-request controls.  Big refactoring of the HTTP resource waiter in lltexturefetch.
    What I was doing before wasn't correct.  Instead, I'm implementing the resource wait
    after the Semaphore model (though not using system semaphores).  So instead of having
    a sequence like:  SEND_HTTP_REQ -> WAIT_HTTP_RESOURCE -> SEND_HTTP_REQ, we now
    do WAIT_HTTP_RESOURCE -> WAIT_HTTP_RESOURCE2 (actual wait) -> SEND_HTTP_REQ.  Works
    well but the prioritized filling of the corehttp library needs some performance
    work later.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.