Skip to content
Snippets Groups Projects
  1. Jul 08, 2013
  2. Jul 03, 2013
  3. Jun 27, 2013
    • Monty Brandenberg's avatar
      SH-4310/BUG-2810/MAINT-2794 Better status checking and error logging in Mesh code. · 2cdddab3
      Monty Brandenberg authored
      Pay correct attention to status codes coming back from services.  Generate
      better and consistent error messages when problems arise.  There's more to
      do in error handling, need a way to cleanly fail all request types, only
      have that for LOD at this point.  Do better keeping the HTTP pipeline between
      the low and high water marks.  This was made challenging because the outer
      most code couldn't really see what's going on internally (whose actions are
      delayed in a worker thread).  More to do here, the debug-like requests don't
      honor limits, that will come later.  Made retry counts available from llcorehttp
      which can be used by the throttle-anticipating logic to advance the count.
      It helps but it reinforces the coupling between viewer and server which I
      do not like.
      2cdddab3
  4. Jun 20, 2013
    • Monty Brandenberg's avatar
      SH-4257 Preparation for a new cap grant: GetMesh2 · d6cbcd59
      Monty Brandenberg authored
      Mesh repo is using three policy classes now:  one for
      large objects, one for GetMesh2 regions, one for
      GetMesh regions.  It's also detecting the presence
      of the cap and using the correct class.  Class
      initialization cleaned up significantly in llappcorehttp
      using data-directed code.  Pulled in the changes to
      HttpHeader done for sunshine-internal then did a
      refactoring pass on the header callback which now
      uses a unified approach to clean up and deliver
      header information to all interested parties.  Added
      support for using Retry-After header information on
      503 retries.
      d6cbcd59
  5. Apr 15, 2013
    • Monty Brandenberg's avatar
      SH-4106 Significantly upgrade the HttpHeaders interface for SSB. · 4eef1c8a
      Monty Brandenberg authored
      Header container moves from a vector of raw lines to a vector
      of string pairs representing name/value pairs in headers.  For
      incoming headers, we normalize the name to lowercase and trim
      it.  Values are only left-trimmed.  Outgoing headers are left
      as-is.  Simple find() method for the common case, forward and
      reverse iterators for those few who need to do it themselves.
      The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated
      as a header to be returned to caller.  Unit tests, as usual,
      were a bear but they absolutely ensured outgoing HTTP header
      conformance after the change.  Grunt work paid off.
      
      LLTextureFetch was also given a second options structure
      for texture fetches.  Same as the original but with header return
      to caller requested.  Baked textures should use this, the other
      20,000 texture fetch requests should continue to use the original.
      4eef1c8a
  6. Jun 19, 2013
    • Monty Brandenberg's avatar
      SH-4252 Add second policy class for large mesh asset downloads · 626752be
      Monty Brandenberg authored
      Added second mesh class as well as an asset upload class.
      Refactored initialization to use less code and more data to
      cleanly get http started.  Modified mesh to use the new
      http class for large requests (>2MB for now).  Added additional
      timeout setting to llcorehttp to distinguish connection timeout
      from transport timeout and are now using transport timeout
      values for large asset downloads that may need more time.
      626752be
  7. May 07, 2013
  8. Mar 29, 2013
  9. Dec 21, 2012
    • Monty Brandenberg's avatar
      SH-3331 Fix incorrect overrun message when sending body with HTTP · 6c337535
      Monty Brandenberg authored
      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.
      6c337535
  10. Dec 07, 2012
  11. Nov 27, 2012
  12. Nov 26, 2012
  13. Nov 16, 2012
  14. Jan 31, 2013
  15. Sep 07, 2012
  16. Aug 01, 2012
    • Monty Brandenberg's avatar
      SH-3308 Beef up retry messaging. · bf004be1
      Monty Brandenberg authored
      Reformatted messages around request retry.  Successfully retried requests
      also message so you can see the cycle closed.  Added additional retryable
      error codes (timeout, other libcurl failures).  Commenting and removed some
      unnecessary std::min logic.
      bf004be1
  17. Jul 24, 2012
  18. Jul 23, 2012
  19. Jul 16, 2012
  20. Jul 13, 2012
    • Monty Brandenberg's avatar
      SH-3241 validate that request headers are correct · 5eb5dc6b
      Monty Brandenberg authored
      First round of integration tests.  Added a request header 'reflector'
      to the web server to sent the client's headers back with a 'X-Reflect-'
      prefix.  Use boost::regex to check various headers.  Run a test on
      a simple GET and a byte-ranged GET a la texture fetch.
      5eb5dc6b
  21. Jul 12, 2012
    • Monty Brandenberg's avatar
      SH-3183 Use valgrind on the library. · d45b2e7c
      Monty Brandenberg authored
      Using http_texture_load as the test subject, library looks clean.  Did
      some better shutdown in the program itself and it looks better.  Libcurl
      itself is making a lot of noise.  Adapted testrunner to run valgrind as
      well but the memory allocation tester in the tools themselves grossly
      interferes with Valgrind operations.
      d45b2e7c
  22. Jul 11, 2012
  23. Jul 10, 2012
  24. Jul 09, 2012
  25. Jul 07, 2012
  26. Jul 06, 2012
  27. Jul 04, 2012
  28. Jul 03, 2012
  29. Jun 26, 2012
    • Monty Brandenberg's avatar
      SH-3184/SH-3221 More work on cleanup with better unit test work and more... · e8b0088d
      Monty Brandenberg authored
      SH-3184/SH-3221  More work on cleanup with better unit test work and more aggressive shutdown of a thread.
      Some additional work let me enable a memory check for the clean shutdown case and
      generally do a better job on other interfaces.  Request queue waiters now awake
      on shutdown and don't sleep once the queue is turned off.  Much better semantically
      for how this will be used.
      e8b0088d
  30. Jun 23, 2012
    • Monty Brandenberg's avatar
      SH-3184/SH-3221 Improve cleanup, destructor, thread termination, etc. logic in library. · e172ec84
      Monty Brandenberg authored
      With this commit, the cleanup paths should be production quality.  Unit tests have been
      expanded to include cases requiring thread termination and cleanup by the worker thread.
      Special operation/request added to support the unit tests.  Thread interface expanded
      to include a very aggressive cancel() method that does not do cleanup but prevents the
      thread from accessing objects that will be destroyed.
      e172ec84
  31. Jun 22, 2012
    • Monty Brandenberg's avatar
      This sets down the groundwork for dynamic policy classes. · bc7d5b24
      Monty Brandenberg authored
      Groundwork is used for the default class which currently represents
      texture fetching.  Class options implemented from API user into
      HttpLibcurl.  Policy layer is going to start doing some traffic
      shaping like work to solve problems with consumer-grade gear.
      Need to have dynamic aspects to policies and that starts now...
      bc7d5b24
Loading