Akka.Cluster.ClusterEvent.DiffLeader C# (CSharp) Метод

DiffLeader() статический приватный Метод

static private DiffLeader ( Gossip oldGossip, Gossip newGossip, UniqueAddress selfUniqueAddress ) : ImmutableList
oldGossip Gossip
newGossip Gossip
selfUniqueAddress UniqueAddress
Результат ImmutableList
        internal static ImmutableList<LeaderChanged> DiffLeader(Gossip oldGossip, Gossip newGossip, UniqueAddress selfUniqueAddress)
        {
            var newLeader = newGossip.Leader(selfUniqueAddress);
            if ((newLeader == null && oldGossip.Leader(selfUniqueAddress) == null) 
                || newLeader != null && newLeader.Equals(oldGossip.Leader(selfUniqueAddress))) 
                return ImmutableList.Create<LeaderChanged>();

            return ImmutableList.Create(newLeader == null 
                ? new LeaderChanged(null) 
                : new LeaderChanged(newLeader.Address));
        }

Usage Example

Пример #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::DiffLeader