1. 29 Mar, 2021 1 commit
    • Steven Allen's avatar
      fix: use 64bit stream/conn IDs · 62e792f5
      Steven Allen authored
      Given 1k requests per second (assuming one stream per request), we can
      easily loop around the stream ID after less than 2 months. 32bits is
      plenty (usually) for connection-scoped stream IDs because individual
      connections don't usually last that long, but isn't enough for a
      _global_ stream ID.
      
      Given that there's no reason for these to be 32bit IDs, let's just make
      them 64bits.
      62e792f5
  2. 19 Feb, 2021 1 commit
  3. 18 Feb, 2021 1 commit
  4. 17 Feb, 2021 4 commits
  5. 19 Dec, 2020 1 commit
  6. 05 Jun, 2020 1 commit
  7. 20 May, 2020 1 commit
  8. 15 May, 2020 1 commit
  9. 01 Apr, 2020 1 commit
  10. 31 Mar, 2020 1 commit
  11. 10 Feb, 2020 1 commit
  12. 04 Nov, 2019 1 commit
    • Steven Allen's avatar
      feat(swarm): improve dial context · 83dd28eb
      Steven Allen authored
      1. Always return the caller's context error if relevant.
      2. Don't return "context canceled" when we're just shutting down.
      3. Don't claim that the context deadline has been exceeded when the dial timeout
      is canceled.
      83dd28eb
  13. 06 Jun, 2019 1 commit
  14. 04 Jun, 2019 1 commit
  15. 03 Jun, 2019 1 commit
  16. 26 May, 2019 1 commit
  17. 10 Apr, 2019 2 commits
  18. 19 Feb, 2019 1 commit
  19. 15 Feb, 2019 2 commits
  20. 28 Aug, 2018 2 commits
  21. 26 Jun, 2018 2 commits
    • Steven Allen's avatar
      switch to a per DialPeer/NewStream timeout defined in go-libp2p-net · 8071fe6c
      Steven Allen authored
      The global per-peer dial timeout had a significant drawback: When dialing many
      peers, this timeout could cause libp2p to cancel dials while they were still
      stuck in the limiter.
      
      A better but more complicated approach is a time budget system but we can
      implement that later.
      
      This change simply applies the limit to each `DialPeer`/`NewStream` call
      independently and makes it easy to override. While old timeout tried to
      account for how much we're willing to spend dialing a single peer, this new
      timeout tries to account for the amount of time a single "client" is willing to
      wait for a dial to complete before they no longer care.
      8071fe6c
    • Steven Allen's avatar
      add a per-dial transport-level dial timeout · d921f5c9
      Steven Allen authored
      d921f5c9
  22. 07 Jun, 2018 1 commit
  23. 05 Jun, 2018 1 commit
    • Steven Allen's avatar
      refactor for new transports · f73db3de
      Steven Allen authored
      Removes:
      
      * go-libp2p-conn logic (moved to transports)
      * go-libp2p-peerstream (moved here)
      
      Changes:
      
      * New transport interface.
      * Explicit over implicit (the implicit automagic now all lives in go-libp2p):
        * No more default transports, muxers, etc.
        * No more fallback dialer. Transports are now *required*.
      * Stream opening:
        * Connection picking logic (instead of just picking the first).
        * Tries harder to open a stream of some connections happen to be closed.
      * Stream closing:
        * No longer treats half-closed streams as fully closed. Users *must* read the
          an EOF or reset the stream for it to be garbage collected.
      * No more polling for dead connections.
      * Multiplexers are now *non-optional*. Really, they haven't been optional for a
        while but we still pretended that they were.
      * No more Network type alias. It added a bunch of code and didn't really provide
        anything but an alternative set of methods that do the same thing.
      * Notifications:
        * New guarantee: connection open notifications will complete before connection
          close notifications begin.
        * Given that, notifications are now delivered in parallel. No more
          notification backlogs blocking connection closing/opening.
      f73db3de
  24. 06 Dec, 2017 1 commit
  25. 14 Nov, 2017 1 commit
  26. 20 Sep, 2017 1 commit
  27. 13 Sep, 2017 1 commit
    • Steven Allen's avatar
      Update stream muxer. · 840958c8
      Steven Allen authored
      * Add in the reset method and use it instead of Close. Close now only closes one
        side of the connection.
      840958c8
  28. 06 Jun, 2017 1 commit
  29. 03 Feb, 2017 2 commits
  30. 23 Nov, 2016 1 commit
  31. 11 Nov, 2016 1 commit
  32. 09 Nov, 2016 1 commit