1. 14 Aug, 2020 1 commit
  2. 16 Jul, 2020 1 commit
  3. 16 Jun, 2020 1 commit
  4. 10 Jun, 2020 1 commit
  5. 06 Jun, 2020 1 commit
    • Steven Allen's avatar
      feat: protect all peers in low buckets, tag everyone else with 5 · e14fe9b8
      Steven Allen authored
      Anything else is easy to game. This way, we remain connected to the core peers
      and slightly prefer all others.
      
      Pruning doesn't really matter as we'll just reconnect. The only concern is that
      this will lock in 40 connections. However, that's nothing for libp2p anyways.
      and the DHT will create that many connections _just_ for a single query.
      e14fe9b8
  6. 03 Jun, 2020 1 commit
  7. 22 May, 2020 1 commit
  8. 21 May, 2020 2 commits
    • Steven Allen's avatar
      address cr feedback · 69152762
      Steven Allen authored
      And tag useful peers in higher buckets
      69152762
    • Steven Allen's avatar
      fix: protect useful peers in low buckets · 371d4dc3
      Steven Allen authored
      That way, we never disconnect from the core of the network.
      
      We don't protect our closest peers as:
      
      * We'll reconnect to them frequently when we query for ourself.
      * We use the core nodes most frequently.
      371d4dc3
  9. 19 May, 2020 1 commit
  10. 14 May, 2020 1 commit
  11. 25 Apr, 2020 1 commit
  12. 20 Apr, 2020 2 commits
  13. 09 Apr, 2020 6 commits
  14. 08 Apr, 2020 2 commits
  15. 06 Apr, 2020 5 commits
  16. 03 Apr, 2020 13 commits
    • Steven Allen's avatar
      feat: better logging · 445472b1
      Steven Allen authored
      * Remove deprecated events.
      * Fix warning -> warn.
      * Use structured logging (some places).
      445472b1
    • Steven Allen's avatar
      chore: fix lints · 5aad9549
      Steven Allen authored
      Except deprecated warn calls
      5aad9549
    • Aarsh Shah's avatar
      Periodic Pinging and active fixLowPeers (#533) · 2539114e
      Aarsh Shah authored
      * fix Low Peers and Cleanup
      2539114e
    • Aarsh Shah's avatar
      New RT management policy (#520) · 8fa04389
      Aarsh Shah authored
      * new RT management policy
      8fa04389
    • Steven Allen's avatar
      feat: return target peer if we know about them (#511) · d0770d24
      Steven Allen authored
      Previously, we'd only return the target peer if we were connected to them.
      However, this makes it difficult to impossible to find peers that are mostly
      disconnected from the network.
      
      This change also changes `p` to `from` in several places as `p` is _very_
      confusing. We should probably switch away from using `p` everywhere.
      d0770d24
    • Adin Schmahmann's avatar
      Configurable Peer Filtering (#471) · 0543571f
      Adin Schmahmann authored
      Allows specifying peer filter functions on query and on adding peers to the routing table. This patch also includes some reasonable default functions for a public-only and private-only DHT.
      Co-authored-by: default avatarWill Scott <will@cypherpunk.email>
      Co-authored-by: default avatarSteven Allen <steven@stebalien.com>
      0543571f
    • Aarsh Shah's avatar
      Remove disjoint queries (#503) · 94cf3e54
      Aarsh Shah authored
      * remove disjoint queries
      * remove globally queried check
      * removed dht rng field and mutex
      * removed the Disjoint option
      Co-authored-by: default avatarAdin Schmahmann <adin.schmahmann@gmail.com>
      94cf3e54
    • Adin Schmahmann's avatar
      Asynchronous lookups (#498) · 94cf4811
      Adin Schmahmann authored
      * feat(query): fully async implementation of Kademlia lookup. peers returned from the lookup are not guaranteed to be alive (i.e. we're only guaranteed to have dialed the closest beta peers to the target), but given stable and correct routing tables the expectation that most of the peers returned are alive is high.
      * feat(query): add wrapper lookup followup function to followup after the lookup is completed and ensure that the closest k returned peers from a lookup have been queried even for beta < k
      * refactor(query) modified the structure returned from lookups to be a useful subset of the full query state instead of the entire query state
      * feat(options): beta parameter exposed as the Resiliency parameter
      * feat(routing): do not mark the routing table as updated after a FindPeer query
      * feat(routing): FindPeer can return addresses even if not Connected as long as it was either recently connected (CanConnect) or was discovered during the lookup
      * feat(bootstrap): bootstrap logic now uses GetClosestPeers instead of FindPeer
      * refactor(dht): stopFn no longer takes any state
      * fix(test): changed GetClosestPeers test to only assume beta instead of k peers since that is now more appropriate given the query logic changes and that the routing tables in that test are bad, i.e. a ring network with arbitrary peerIDs
      Co-authored-by: default avatarPetar Maymounkov <petarm@gmail.com>
      Co-authored-by: default avatarAarsh Shah <aarshkshah1992@gmail.com>
      94cf4811
    • Aarsh Shah's avatar
      fix validation · e1ed8259
      Aarsh Shah authored
      e1ed8259
    • Aarsh Shah's avatar
      change peer validation func · 050c4b8f
      Aarsh Shah authored
      050c4b8f
    • Adin Schmahmann's avatar
      fix: protect rng with a mutex · 5358a4fb
      Adin Schmahmann authored
      5358a4fb
    • Aarsh Shah's avatar
      change tests · 169395b4
      Aarsh Shah authored
      169395b4
    • Aarsh Shah's avatar
      RT connectivity changes · c17965fa
      Aarsh Shah authored
      c17965fa