-
Notifications
You must be signed in to change notification settings - Fork 182
Improve gossipsub #913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Improve gossipsub #913
Conversation
@sukhman-sukh : This is wonderful. Great work. Reviewing this in detail. Thank you so much for the contribution. CCing @sumanjeet0012 , @lla-dane and @Winter-Soren , who are also working on different Gossipsub branches. Asking them to review this important PR with me. @acul71 (Luca) had some github admin issues. They are now resolved and you can definitely tag Luca again :) |
|
||
# 4) And write the packet to the stream | ||
await self.pubsub.write_msg(peer_stream, packet) | ||
|
||
await self.send_rpc(to_peer=sender_peer_id, rpc=packet) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The urgent
bool parameter has to be mentioned here also right ?
@sukhman-sukh: I had one question about the splitting logic, if an outgoing RPC is larger than |
Hey @lla-dane, according to me, every RPC is standalone. We were first piggybacking multiple messages into a single RPC which might exceed it sometime, so now it is taking that big RPC and breaking it into a standalone list of RPCs. |
Yeah I understand that. But suppose we break a big chunk RPC into individual RPCs, so isn't there a chamce that the content of those 2 smaller RPCs would be dependent, and since our ultimate goal was to somehow deliver the complete content of the big RPC on the receiver end, so the content of the 2 smaller RPCs need to agregated or something on the receiver end. |
What was wrong?
Current version of gossipsub did not have message queuing, priority message queuing, and also, message splitting based on maxMessageSize as discussed for interoperability with go-libp2p.
Issue # #891
How was it fixed?
Cute Animal Picture