1. 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
  2. 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
  3. 09 Jan, 2018 1 commit
    • Steven Allen's avatar
      cleanup connection setup · 6287b47f
      Steven Allen authored
      We already setup the connection from within the new connection handler. No need
      to do it *again* on dial.
      6287b47f
  4. 03 Jan, 2018 1 commit
  5. 14 Nov, 2017 1 commit
  6. 18 Oct, 2017 1 commit
  7. 05 Sep, 2017 1 commit
  8. 17 Mar, 2017 1 commit
  9. 03 Feb, 2017 2 commits
  10. 11 Nov, 2016 1 commit
  11. 25 Oct, 2016 1 commit
  12. 05 Oct, 2016 1 commit
  13. 04 Oct, 2016 2 commits
  14. 18 Sep, 2016 1 commit
  15. 08 Sep, 2016 2 commits
  16. 05 Sep, 2016 1 commit
  17. 11 Aug, 2016 1 commit
  18. 10 Aug, 2016 1 commit
  19. 01 Jun, 2016 1 commit
  20. 31 May, 2016 2 commits
  21. 27 Apr, 2016 2 commits
  22. 12 Apr, 2016 1 commit
  23. 30 Mar, 2016 1 commit
  24. 03 Mar, 2016 1 commit
  25. 04 Jan, 2016 1 commit
  26. 07 Dec, 2015 1 commit
    • Jeromy's avatar
      WIP · 0f020c3c
      Jeromy authored
      0f020c3c
  27. 19 Nov, 2015 1 commit
  28. 16 Nov, 2015 4 commits
  29. 15 Nov, 2015 1 commit
  30. 12 Nov, 2015 1 commit
  31. 30 Sep, 2015 1 commit