public void Handle(GossipMessage.GotGossipSeedSources message) { var now = DateTime.UtcNow; var dnsCluster = new ClusterInfo( message.GossipSeeds.Select(x => MemberInfo.ForManager(Guid.Empty, now, true, x, x)).ToArray()); var oldCluster = _cluster; _cluster = MergeClusters(_cluster, dnsCluster, null, x => x); LogClusterChange(oldCluster, _cluster, null); _state = GossipState.Working; Handle(new GossipMessage.Gossip(0)); // start gossiping }
public void Handle(GossipMessage.GotGossipSeedSources message) { var now = _timeProvider.UtcNow; var dnsCluster = new ClusterInfo( message.GossipSeeds.Select(x => MemberInfo.ForManager(Guid.Empty, now, true, x, x)).ToArray()); var oldCluster = _cluster; _cluster = MergeClusters(_cluster, dnsCluster, null, x => x, _timeProvider.UtcNow, NodeInfo, CurrentLeader, AllowedTimeDifference, DeadMemberRemovalPeriod); LogClusterChange(oldCluster, _cluster, null); _state = GossipState.Working; Handle(new GossipMessage.Gossip(0)); }