- 14 May, 2021 1 commit
-
-
Adin Schmahmann authored
* fullrt: add experimental FullRT DHT client The FullRT client periodically crawls the network to fill its local routing table and uses that to perform queries. It supports performing many provides or puts together taking advantage of efficiencies of grouping the DHT operations by where they will occur in the Kademlia space. Additionally, it has a more tunable function for determining when a query is complete that does not require waiting on any individual peer (which could be offline) to respond. This client is experimental and its exposed interfaces should be expected to change and break over time. * crawler: starting peers with addresses and peers found during a crawl have their addresses extended. logging improved * dht: move IpfsDHT options to the internal package. Make a breaking change to the filter interfaces to support more DHT implementations * dht: GetClosestPeers now returns a slice of peers instead of a channel of peers since we have to wait for the query to complete to return the closest peers anyway * dht: the subscriberNotifiee has been refactored to work more independently of the underlying message sender implementation
-
- 04 Jan, 2021 5 commits
-
-
Adin Schmahmann authored
dht.msgSender
-
Adin Schmahmann authored
refactor: rename messageSender to peerMessageSender and added comments to clarify what peerMessageSender and messageManager do
-
Adin Schmahmann authored
-
Adin Schmahmann authored
-
Adin Schmahmann authored
refactor: extract messaging components from IpfsDHT into its own struct. create a new struct that manages sending DHT messages that can be used independently from the DHT.
-
- 12 Nov, 2020 1 commit
-
-
Steven Allen authored
Update for stream interface changes. See https://github.com/libp2p/go-libp2p-core/releases/tag/v0.7.0 for details.
-
- 30 Jul, 2020 1 commit
-
-
Raúl Kripalani authored
-
- 28 Apr, 2020 1 commit
-
-
Will Scott authored
-
- 20 Apr, 2020 1 commit
-
-
Steven Allen authored
These are all critical paths so we should try to do as little work as possible.
-
- 09 Apr, 2020 2 commits
- 03 Apr, 2020 8 commits
-
-
Steven Allen authored
* Remove deprecated events. * Fix warning -> warn. * Use structured logging (some places).
-
Steven Allen authored
Except deprecated warn calls
-
Aarsh Shah authored
* new RT management policy
-
Steven Allen authored
This should stop us from waiting on unresponsive peers. This only kicks in when we've already _sent_ a request so this: * Shouldn't be blocked on other requests we're planning on making. * Shouldn't be blocked on dialing.
-
Aarsh Shah authored
-
Adin Schmahmann authored
* upgraded the protocol id to version 2 (i.e. /kad/2.0.0) and made it so v2 peers running in server mode respond to queries from v1 peers. Note: v2 peers will only send queries using the v2 protocol, will only add v2 peers to their routing tables, and will only tell v1 peers about v2 peers. * to run a forked network we now use network specific protocol prefixes instead of manually setting protocol IDs. Use the ProtocolPrefix option instead of the Protocols option. * emit errors during initialization if the user misuses the default protocol prefix by setting parameters inconsistent with the default protocol's network specification * since the Client option has been deprecated it's been removed from the dht's options. While deprecated it is still available in the dht options package. Setting `Client(false)` now puts the node into ModeAuto.
-
Adin Schmahmann authored
* created Mode(ModeOpt) option for choosing between auto/client/server modes * Auto mode internally switches the DHT between client and server modes based on the EvtLocalReachabilityChanged event emitted on the event bus (e.g. by AutoNAT) * routing table management of peers that switch between client and server mode while we are connected to them (i.e. are in auto mode) * removed Client(bool) option, becoming a DHT client is specified using Mode(ModeClient) instead
-
Adin Schmahmann authored
* feat: consume identify events to evaluate routing table addition * fix: routing table no longer gets an update just because new messages have arrived or been sent * fix: add already connected peers into the routing table before listening to events Co-authored-by: Raúl Kripalani <raul.kripalani@gmail.com> Co-authored-by: Aarsh Shah <aarshkshah1992@gmail.com>
-
- 02 Mar, 2020 1 commit
-
-
Michael Muré authored
-
- 27 Feb, 2020 2 commits
-
-
Michael Muré authored
... otherwise any kinde of error ratio is meaningless.
-
Michael Muré authored
-
- 22 Feb, 2020 1 commit
-
-
Steven Allen authored
Related to #453 but not a fix. This will cause us to actually return early when we start blocking on sending to some peers, but it won't really _unblock_ those peers. For that, we need to write with a context.
-
- 23 Jan, 2020 1 commit
-
-
Steven Allen authored
It's currently 10 minutes. This change will kill all inbound DHT streams that haven't been used in 1 minute. We keep streams around to avoid the cost of setting up new streams (the multistream overhead, mostly). However, each one of these takes at least one goroutine and some other state. Ideally, this will let us run multiple DHTs side-by-side without keeping one stream per peer per DHT open.
-
- 04 Sep, 2019 1 commit
-
-
Steven Allen authored
fixes #389 Credit goes to @sidenaio for finding this.
-
- 18 Jun, 2019 1 commit
-
-
Cole Brown authored
Update msgio to latest version Use max size in msgio readers Fix error handling in reads
-
- 17 Jun, 2019 2 commits
-
-
Cole Brown authored
-
Cole Brown authored
-
- 26 May, 2019 1 commit
-
-
Raúl Kripalani authored
-
- 24 May, 2019 2 commits
-
-
Steven Allen authored
-
Steven Allen authored
This was causing us to build up a bunch of background goroutines. Technically, we should be resetting all these streams when the DHT stops. However, we don't actually unregister stream handlers from the host so, really, nothing will actually stop till the host stops. When it does, it'll kill all the streams anyways.
-
- 08 May, 2019 1 commit
-
-
Steven Allen authored
Allocate them as-needed and use a pool. Work towards #322.
-
- 15 Apr, 2019 1 commit
-
-
Adrian Lanzafame authored
Add initial set of metrics exposed via OpenCensus.
-
- 07 Mar, 2019 1 commit
-
-
Steven Allen authored
We usually _explicitly_ call connect before calling `prep` but we may disconnect somewhere in-between. We _don't_ want to get stuck here dialing if the context has been canceled.
-
- 19 Feb, 2019 1 commit
-
-
Matt Joiner authored
-
- 12 Feb, 2019 2 commits
-
-
Raúl Kripalani authored
This reverts commit 7e68ac3c.
-
Adrian Lanzafame authored
-
- 03 Feb, 2019 1 commit
-
-
Matt Joiner authored
-
- 05 Aug, 2018 1 commit
-
-
Marten Seemann authored
-