Skip to content
Snippets Groups Projects
  1. Feb 08, 2018
  2. Oct 24, 2017
  3. Sep 18, 2017
  4. Jul 30, 2017
  5. Jul 04, 2017
  6. Mar 15, 2017
  7. Nov 25, 2016
  8. Sep 21, 2016
  9. Sep 14, 2016
    • Eelco Dolstra's avatar
      Enable HTTP/2 support · 90ad02bf
      Eelco Dolstra authored
      The binary cache store can now use HTTP/2 to do lookups. This is much
      more efficient than HTTP/1.1 due to multiplexing: we can issue many
      requests in parallel over a single TCP connection. Thus it's no longer
      necessary to use a bunch of concurrent TCP connections (25 by
      default).
      
      For example, downloading 802 .narinfo files from
      https://cache.nixos.org/, using a single TCP connection, takes 11.8s
      with HTTP/1.1, but only 0.61s with HTTP/2.
      
      This did require a fairly substantial rewrite of the Downloader class
      to use the curl multi interface, because otherwise curl wouldn't be
      able to do multiplexing for us. As a bonus, we get connection reuse
      even with HTTP/1.1. All downloads are now handled by a single worker
      thread. Clients call Downloader::enqueueDownload() to tell the worker
      thread to start the download, getting a std::future to the result.
      90ad02bf
  10. Jul 26, 2016
  11. Jun 01, 2016
  12. Apr 15, 2016
  13. Mar 02, 2016
  14. Feb 29, 2016
  15. Feb 04, 2016
    • Eelco Dolstra's avatar
      Eliminate the "store" global variable · c10c6144
      Eelco Dolstra authored
      Also, move a few free-standing functions into StoreAPI and Derivation.
      
      Also, introduce a non-nullable smart pointer, ref<T>, which is just a
      wrapper around std::shared_ptr ensuring that the pointer is never
      null. (For reference-counted values, this is better than passing a
      "T&", because the latter doesn't maintain the refcount. Usually, the
      caller will have a shared_ptr keeping the value alive, but that's not
      always the case, e.g., when passing a reference to a std::thread via
      std::bind.)
      c10c6144
  16. Oct 21, 2015
  17. Oct 07, 2015
  18. Oct 01, 2015
Loading