Skip to content

v0.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Dec 10:57
0140ce3

Added

Active Peer Probing and Caching

Active probing and caching improves the quality and reliability of Content Routing responses from the DHT. Someguy always returns addresses for providers and omits unroutable providers for which no addresses can be found.

  • Peer addresses are cached in a local in-memory address book for 48h to match provider record expiration on Amino DHT.
  • In the background, someguy probes cached peers at most once per hour (PeerProbeThreshold) by attempting to dial them to keep their multiaddrs up to date. If a peer is not reachable, an exponential backoff is applied to reduce the frequency of probing. If a cached peer is unreachable for more than 48h (MaxBackoffDuration), it is removed from the cache.
  • Someguy now augments providers missing addresses in FindProviders with cached addresses. If a peer is encountered with no cached addresses, FindPeer is dispatched in the background and the result is streamed in the reponse. Providers for which no addresses can be found, are omitted from the response.
    • This can be enabled via SOMEGUY_CACHED_ADDR_BOOK=true|false (enabled by default)
    • Two additional configuration options for the cachedAddrBook implementation:
      • SOMEGUY_CACHED_ADDR_BOOK_ACTIVE_PROBING whether to actively probe cached peers in the background to keep their multiaddrs up to date.
      • SOMEGUY_CACHED_ADDR_BOOK_RECENT_TTL to adjust the TTL for cached addresses of recently connected peers.

This release is brought to you by the Shipyard team.

Full Changelog: https://github.com/ipfs/someguy/blob/main/CHANGELOG.md