fix: use unidirectional streams v0.3.x #79
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes libp2p pubsub subsystem use unidirectional streams instead of bidirectional streams per discussion on ipfs/go-ipfs#7390.
More details about the reasoning for this can be found in https://discuss.libp2p.io/t/gossip-questions/257/6
This PR replicates #105 for the
0.3.x
version range oflibp2p-gossipsub
I have tested this change on all libp2p repos:
js-libp2p
,libp2p-daemon
andinterop
and everything is working properly. The tests here need to be updated though, as a result of the tests being implemented considering a bidirectional stream.Bear in mind that a lot of this "connection logic" can be abstracted. I did not worry about it and just followed what we already had in floodsub and gossipsub. Hopefully, after
gossipsub@1.1
, I want to create the libp2p pubsub interface and move/refactor the tests there and re-use most of them in all our router implementations.Needs: