Akka.Cluster.Gossip.Convergence C# (CSharp) Method

Convergence() public method

public Convergence ( UniqueAddress selfUniqueAddress ) : bool
selfUniqueAddress UniqueAddress
return bool
        public bool Convergence(UniqueAddress selfUniqueAddress)
        {
            var unreachable = _overview.Reachability.AllUnreachableOrTerminated
                .Where(node => node != selfUniqueAddress)
                .Select(GetMember);

            var convergedUnreachable = unreachable
                .All(m => ConvergenceSkipUnreachableWithMemberStatus.Contains(m.Status));

            var convergedSeen =
                !_members.Any(m => ConvergenceMemberStatus.Contains(m.Status) && !SeenByNode(m.UniqueAddress));

            return convergedUnreachable && convergedSeen;
        }

Usage Example

Esempio n. 1
0
        /// <summary>
        /// TBD
        /// </summary>
        /// <param name="oldGossip">TBD</param>
        /// <param name="newGossip">TBD</param>
        /// <param name="selfUniqueAddress">TBD</param>
        /// <returns>TBD</returns>
        internal static ImmutableList<SeenChanged> DiffSeen(Gossip oldGossip, Gossip newGossip, UniqueAddress selfUniqueAddress)
        {
            if (newGossip.Equals(oldGossip))
            {
                return ImmutableList<SeenChanged>.Empty;
            }

            var newConvergence = newGossip.Convergence(selfUniqueAddress, EmptySet);
            var newSeenBy = newGossip.SeenBy;
            if (!newConvergence.Equals(oldGossip.Convergence(selfUniqueAddress, EmptySet)) || !newSeenBy.SequenceEqual(oldGossip.SeenBy))
            {
                return ImmutableList.Create(new SeenChanged(newConvergence, newSeenBy.Select(s => s.Address).ToImmutableHashSet()));
            }

            return ImmutableList<SeenChanged>.Empty;
        }
All Usage Examples Of Akka.Cluster.Gossip::Convergence