Remove requirement on ProviderQueryManager from the bitswap client #640
Labels
dif/expert
Extensive knowledge (implications, ramifications) required
kind/enhancement
A net-new feature or improvement to an existing feature
P1
High: Likely tackled by core team if no one steps up
Background
This is the ProviderQueryManager that is in an internal package of the bitswap client
boxo/bitswap/client/internal/providerquerymanager/providerquerymanager.go
Lines 71 to 78 in 2816b71
Notably it does almost nothing that's specific to Bitswap, or even the concept of data transfer sessions. Instead it is an opinionated content routing wrapper that does things like:
Unfortunately sometimes these opinions are too strong for consumers who'd like to experiment or use something else (e.g. higher rate limits, different timeouts, etc.
Proposal
FindProvidersAsync
method from go-libp2p's content routing interfaceSome advantages of this proposal are:
Alternatives Considered
routing
but disable by default in the bitswap client -> could potentially cause problems for people updating without reading release notes, but would be much cleaner since then we could just leave this as a content routing wrapperThe text was updated successfully, but these errors were encountered: