1. 19 May, 2021 1 commit
    • Marten Seemann's avatar
      remove incorrect call to InterceptAddrDial · f004a103
      Marten Seemann authored
      addConn is called both when we add a dialed and an accepted connection to the
      swarm. InterceptAddrDial is only supposed to intercept outgoing connections
      though. When dialing, we already call InterceptAddrDial when we compose the
      list of dialable addresses.
      f004a103
  2. 20 Apr, 2021 1 commit
  3. 01 Apr, 2021 3 commits
  4. 30 Mar, 2021 1 commit
  5. 29 Mar, 2021 2 commits
  6. 19 Mar, 2021 2 commits
  7. 19 Feb, 2021 1 commit
  8. 18 Feb, 2021 1 commit
  9. 17 Feb, 2021 4 commits
  10. 19 Dec, 2020 1 commit
  11. 05 Jun, 2020 1 commit
  12. 20 May, 2020 1 commit
  13. 15 May, 2020 1 commit
  14. 01 Apr, 2020 1 commit
  15. 31 Mar, 2020 1 commit
  16. 10 Feb, 2020 1 commit
  17. 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
  18. 06 Jun, 2019 1 commit
  19. 04 Jun, 2019 1 commit
  20. 03 Jun, 2019 1 commit
  21. 26 May, 2019 1 commit
  22. 10 Apr, 2019 2 commits
  23. 19 Feb, 2019 1 commit
  24. 15 Feb, 2019 2 commits
  25. 28 Aug, 2018 2 commits
  26. 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
  27. 07 Jun, 2018 1 commit
  28. 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
  29. 06 Dec, 2017 1 commit