1. 31 Mar, 2021 5 commits
  2. 30 Mar, 2021 4 commits
  3. 19 Mar, 2021 1 commit
  4. 18 Feb, 2021 1 commit
  5. 12 Feb, 2021 1 commit
  6. 09 Feb, 2021 1 commit
    • Marten Seemann's avatar
      prevent dialing addresses that we're listening on · 88c64b72
      Marten Seemann authored
      It's impossible to run two nodes on the same IP:port, so we know for
      sure that any dial to an address that we're listening on will fail (as
      the peer IDs won't match).
      In practice, this will be most useful for preventing dials to localhost
      for nodes that are listening on the default port.
      88c64b72
  7. 02 Sep, 2020 1 commit
  8. 20 May, 2020 1 commit
  9. 15 May, 2020 1 commit
  10. 02 Apr, 2020 3 commits
  11. 01 Apr, 2020 2 commits
  12. 18 Mar, 2020 1 commit
  13. 04 Nov, 2019 2 commits
  14. 27 Oct, 2019 1 commit
  15. 26 May, 2019 1 commit
  16. 24 Apr, 2019 1 commit
  17. 05 Apr, 2019 1 commit
  18. 13 Mar, 2019 1 commit
  19. 08 Mar, 2019 2 commits
  20. 28 Feb, 2019 1 commit
  21. 15 Feb, 2019 1 commit
  22. 23 Jan, 2019 1 commit
  23. 02 Oct, 2018 1 commit
    • Lars Gierth's avatar
      Refactor and relax filtering of known undialable addresses · 0b06a5fe
      Lars Gierth authored
      This commit moves filtering of dial candidates into its own little function.
      Things that are being filtered: addresses configured to be blocked,
      IPv6 link-local addresses, addresses without a dial-capable transport,
      and addresses that we know to be our own. It's is an optimization to
      avoid wasting time on dials that we know are going to fail.
      
      This also relaxes the filtering of addresses that we consider our own.
      Previously, any address would get filtered that's registered in peerstore
      for or own PeerID. For e.g. /ip4/1.2.3.4/tcp/4001 that's fine, but for
      ephemeral ports it can already cause problems.
      
      In addition, now that go-libp2p-circuit is being fixed to handle its
      multiaddrs slightly differently, /p2p-circuit addresses won't contain
      the PeerID anymore. That means they stand for themselves, and would get
      filtered too. (/p2p-circuit is the address we want to dial, but it's
      also on of "our own addresses").
      
      In the future we'd want to use the mafmt package here, and also consider
      /quic, /ws, etc. addresses as our own.
      0b06a5fe
  24. 28 Aug, 2018 2 commits
  25. 16 Aug, 2018 1 commit
    • Kishan Sagathiya's avatar
      Issue #370 Check if empty peer ID · 59b12b42
      Kishan Sagathiya authored
      On trying to open a new stream against an empty peer ID, we get an
      error saying that failed to dial a peer.
      
      This commit changes that to a more informative error message:
      `empty peer ID`
      59b12b42
  26. 26 Jun, 2018 2 commits
    • Steven Allen's avatar
      remove redundant dial timeout · 1c4a7fd6
      Steven Allen authored
      This timeout is already set by the dial limiter.
      1c4a7fd6
    • 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