* Completed gossip based failure detection.
* Completed removal of unreachable nodes according to failure detector.
* Added passing tests.
* Misc other fixes, more logging, more comments.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
* Finalized initial cluster membership.
* Added merging of vector clocks and gossips in case of concurrent cluster updates.
* Added toString methods to all cluster protocol classes
* Fixed bugs in incrementation of vector clocks
* Added updates of 'seen' table for cluster convergence
* Revamped to use new VectorClock impl
* Refactored Gossip.State
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
* Implemented 'receive(newGossip)'
* Added GossipEnvelope
* Added MetaDataChangeListener
* Changed MembershipChangeListener API
* Changed most internal API to work with Address rather than Member
* Added builder style API to Gossip for changing it in an immutable way
* Moved 'self: Member' from Gossip to State
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
* Simplified node join phase.
* Added tests for cluster node startup and joining, both for singleton cluster and 2-node cluster.
* Fixed bug in cluster node address and cluster daemon lookup.
* Changed some APIs.
* Renamed 'contact-point' to 'node-to-join'.
* Minor refactorings.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>