1. 04 Jan, 2021 3 commits
  2. 02 Dec, 2020 1 commit
  3. 17 Aug, 2020 1 commit
  4. 19 May, 2020 1 commit
  5. 14 May, 2020 1 commit
  6. 13 May, 2020 1 commit
  7. 25 Apr, 2020 1 commit
    • Steven Allen's avatar
      fix: re-validate peers whenever their state changes · e1a40766
      Steven Allen authored
      1. When a peer changes their listening addresses, we need to re-run our routing
      table filters, possibly removing them.
      2. When a peer _starts_ supporting the DHT protocol, we need to add them to our
      routing table. Previously, we'd only do the inverse.
      e1a40766
  8. 08 Apr, 2020 2 commits
  9. 06 Apr, 2020 1 commit
    • Steven Allen's avatar
      feat: add a v1 compatibility mode · 9bab9694
      Steven Allen authored
      When this option is passed, the DHT node will listen on and query _only_ using
      the old DHT protocol. Importantly, the node won't even pretend to be a new DHT
      node because it's routing table includes V1 peers.
      9bab9694
  10. 03 Apr, 2020 7 commits
    • Steven Allen's avatar
      feat: better logging · 445472b1
      Steven Allen authored
      * Remove deprecated events.
      * Fix warning -> warn.
      * Use structured logging (some places).
      445472b1
    • 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
    • Aarsh Shah's avatar
      RT connectivity changes · c17965fa
      Aarsh Shah authored
      c17965fa
    • Adin Schmahmann's avatar
      Upgrade DHT version (#479) · 07dff1f5
      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.
      07dff1f5
    • Adin Schmahmann's avatar
      Enable switching DHT between client and server modes (#469) · d4134a46
      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
      d4134a46
    • Adin Schmahmann's avatar
      Utilize identify events to add peers to the routing table (#472) · 509c0bce
      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: default avatarRaúl Kripalani <raul.kripalani@gmail.com>
      Co-authored-by: default avatarAarsh Shah <aarshkshah1992@gmail.com>
      509c0bce