Skip to content
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

Optimization for Gossip #785

Open
dnwiebe opened this issue Apr 17, 2024 · 0 comments
Open

Optimization for Gossip #785

dnwiebe opened this issue Apr 17, 2024 · 0 comments
Projects

Comments

@dnwiebe
Copy link

dnwiebe commented Apr 17, 2024

When the Neighborhood has the GossipProducer make a package of Gossip, it packs it up into an IncipientCoresPackage and sends it to the Hopper.

This seems like a smart thing to do, but the IncipientCoresPackage has only a public key, not an IP address, so somewhere along the way the process has to contact the Neighborhood again to translate that public key into an IP address for routing purposes.

However, at the moment the Neighborhood creates the IncipientCoresPackage, it already knows the IP address of the neighbor it's sending to, because Gossip only goes to immediate neighbors, and the IP addresses of immediate neighbors are known. Therefore, a number of actor messages could be eliminated if the Neighborhood would just pass along the IP address with the IncipientCoresPackage.

There's another time when a CORES package has to be one-hop routed without getting the target IP from the Neighborhood: when the Node is just starting up, and is contacting its first neighbor. At that time, the neighbor isn't in the Neighborhood database at all, so the IP address has to be included in the instructions to the Hopper.

That's done by sending the Hopper a NoLookupIncipientCoresPackage, which includes a NodeAddr (which includes an IP address) rather than a plain `IncipientCoresPackage'.

Task:
Modify the Neighborhood so that after the GossipProducer makes a package of Gossip, it sends a NoLookupIncipientCoresPackage to the Hopper rather than an IncipientCoresPackage. This may be a very easy change, or you might have to make minor changes to the way NoLookupIncipientCoresPackage works.

@dnwiebe dnwiebe created this issue from a note in MASQNode (New) Apr 17, 2024
@dnwiebe dnwiebe moved this from New to Ready for Development in MASQNode May 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🔖 Ready
MASQNode
  
Ready for Development
Development

No branches or pull requests

1 participant