- 04 Oct, 2018 2 commits
-
-
Kevin Atkinson authored
-
Kevin Atkinson authored
-
- 03 Oct, 2018 2 commits
-
-
Lars Gierth authored
-
Lars Gierth authored
Refactor and relax filtering of known undialable addresses
-
- 02 Oct, 2018 1 commit
-
-
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.
-
- 24 Sep, 2018 1 commit
-
-
Steven Allen authored
-
- 08 Sep, 2018 2 commits
-
-
Steven Allen authored
-
Steven Allen authored
-
- 04 Sep, 2018 2 commits
-
-
bigs authored
log an error when we have no transports configured
-
Steven Allen authored
Modify our two transport lookup functions to log loudly when there are no transports registered.
-
- 31 Aug, 2018 1 commit
-
-
Steven Allen authored
-
- 28 Aug, 2018 5 commits
-
-
Steven Allen authored
-
Steven Allen authored
-
Cole Brown authored
-
Cole Brown authored
-
Steven Allen authored
-
- 22 Aug, 2018 2 commits
-
-
Steven Allen authored
Issue #370 Check if empty peer ID
-
Steven Allen authored
-
- 16 Aug, 2018 1 commit
-
-
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`
-
- 09 Aug, 2018 1 commit
-
-
Steven Allen authored
-
- 21 Jul, 2018 1 commit
-
-
Steven Allen authored
-
- 26 Jun, 2018 10 commits
-
-
Steven Allen authored
-
Steven Allen authored
-
Steven Allen authored
remove redundant dial timeout
-
Steven Allen authored
This timeout is already set by the dial limiter.
-
Steven Allen authored
improve timeouts
-
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.
-
Steven Allen authored
-
Steven Allen authored
-
Steven Allen authored
-
Steven Allen authored
-
- 17 Jun, 2018 1 commit
-
-
Whyrusleeping authored
feat: lower timeout for local address dials
-
- 11 Jun, 2018 2 commits
-
-
Steven Allen authored
limiter: cleanup the code
-
Łukasz Magiera authored
-
- 09 Jun, 2018 2 commits
-
-
Steven Allen authored
-
Steven Allen authored
-
- 07 Jun, 2018 1 commit
-
-
Łukasz Magiera authored
-
- 06 Jun, 2018 1 commit
-
-
Steven Allen authored
refactor for new transports
-
- 05 Jun, 2018 2 commits
-
-
Steven Allen authored
-
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.
-