ipfs / boxo

A set of reference libraries for building IPFS applications and implementations in Go.
https://github.com/ipfs/boxo#readme
Other
181 stars 82 forks source link

bitswap: `BitSwapNetwork` notifies about connected peers that do not speak Bitswap #631

Open Wondertan opened 1 week ago

Wondertan commented 1 week ago

Here we listen and pass newly connected peers to Bitswap Client and Server. However, we do that for all our peers, including those who do not speak Bitswap protocol.

This is not a big problem because we will quickly realize that such peers are unresponsive, but we could still filter them out much earlier. This potentially warrants migrating to Identify libp2p events that now contain the list of protocols the peer supports.

welcome[bot] commented 1 week ago

Thank you for submitting your first issue to this repository! A maintainer will be here shortly to triage and review. In the meantime, please double-check that you have provided all the necessary information to make this process easy! Any information that can help save additional round trips is useful! We currently aim to give initial feedback within two business days. If this does not happen, feel free to leave a comment. Please keep an eye on how this issue will be labeled, as labels give an overview of priorities, assignments and additional actions requested by the maintainers:

Finally, remember to use https://discuss.ipfs.io if you just need general support.

lidel commented 1 week ago

@Wondertan thank you for filling this, by chance, do you have a ballpark % numbers of usable vs unusable peersyou've experienced?

cc @aschmahmann @gammazero this sounds oddly familiar, could contribute to the bitswap behavior we've seen in Rainbow traces?

Wondertan commented 1 week ago

We don't have any numbers yet. I realized this is an issue while exploring the code for the new protocol we are building over Bitswap. We will be running a single Server over two BitSwapNetwork and I needed to know the implications of that.