Akka.Cluster.ClusterEvent.DiffUnreachable C# (CSharp) Method

DiffUnreachable() static private method

static private DiffUnreachable ( Gossip oldGossip, Gossip newGossip ) : ImmutableList
oldGossip Gossip
newGossip Gossip
return ImmutableList
        internal static ImmutableList<UnreachableMember> DiffUnreachable(Gossip oldGossip, Gossip newGossip)
        {
            if (newGossip.Equals(oldGossip)) return ImmutableList.Create<UnreachableMember>();
            var oldUnreachableNodes = oldGossip.Overview.Reachability.AllUnreachableOrTerminated;
            return
                newGossip.Overview.Reachability.AllUnreachableOrTerminated
                    .Where(a => !oldUnreachableNodes.Contains(a))
                    .Select(a => new UnreachableMember(newGossip.GetMember(a)))
                    .ToImmutableList();
        }

Usage Example

Beispiel #1
0
 private void PublishDiff(Gossip oldGossip, Gossip newGossip, Action <object> pub)
 {
     foreach (var @event in ClusterEvent.DiffMemberEvents(oldGossip, newGossip))
     {
         pub(@event);
     }
     foreach (var @event in ClusterEvent.DiffUnreachable(oldGossip, newGossip))
     {
         pub(@event);
     }
     foreach (var @event in ClusterEvent.DiffReachable(oldGossip, newGossip))
     {
         pub(@event);
     }
     foreach (var @event in ClusterEvent.DiffLeader(oldGossip, newGossip, _selfUniqueAddress))
     {
         pub(@event);
     }
     foreach (var @event in ClusterEvent.DiffRolesLeader(oldGossip, newGossip, _selfUniqueAddress))
     {
         pub(@event);
     }
     // publish internal SeenState for testing purposes
     foreach (var @event in ClusterEvent.DiffSeen(oldGossip, newGossip, _selfUniqueAddress))
     {
         pub(@event);
     }
     foreach (var @event in ClusterEvent.DiffReachability(oldGossip, newGossip))
     {
         pub(@event);
     }
 }
All Usage Examples Of Akka.Cluster.ClusterEvent::DiffUnreachable