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

Rename private method isOtherOutdated to isOtherDifferent #29

Closed
patriknw opened this issue Sep 16, 2014 · 3 comments
Closed

Rename private method isOtherOutdated to isOtherDifferent #29

patriknw opened this issue Sep 16, 2014 · 3 comments
Assignees
Milestone

Comments

@patriknw
Copy link
Owner

Caused confusion for someone reading the code.

@netcomm
Copy link

netcomm commented Sep 17, 2014

thanks for the quick reply.I still have some question, I detail described:
for example there have two nodes: node_a, node_b;
#1 if node_a Update some value(say gCounter_a) on time1, the value's digest is updated;
#2 node_a generate a GossipTick on time2, then send 'Status' msg to node_b;
#3 node_b corresponding value's(gCounter_a) digest is old, then node_b in the 'isOtherOutdated' function case 'Some(digest) if digest != otherDigest ⇒ true', and then send it's current "older" gCounter_a back to node_a in a 'Gossip' msg.
#4 node_a recieve 'Gossip' msg and do something ... ...
maybe in this position node_b just send nothing to node_a, or get 'Gossip' msg from node_a?
if i lose something,please point out, thanks all!

@patriknw
Copy link
Owner Author

Thanks for clarification. Your understanding is correct. When node_a receives the gossip msg in #4 it will merge with local value and the local value will win (as it is newer). Nothing is sent back to node_b at that point.

The new value will be spread when some other node (e.g. node_b) sends status to node_a.

It would be possible to send back when receiving gossip message. That would speed up dissemination, at the cost of sending more data. I will consider doing that.

I don't want to add causality information in the status message, because that means version vectors and that takes up a lot more space than a digest.

Thanks for feedback.

@patriknw
Copy link
Owner Author

Fixed this in #30, including sending back gossip message

@patriknw patriknw added this to the 0.6 milestone Sep 20, 2014
@patriknw patriknw self-assigned this Sep 20, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants