Akka.Cluster.Gossip.RoleLeader C# (CSharp) Метод

RoleLeader() публичный Метод

public RoleLeader ( string role, UniqueAddress selfUniqueAddress ) : UniqueAddress
role string
selfUniqueAddress UniqueAddress
Результат UniqueAddress
        public UniqueAddress RoleLeader(string role, UniqueAddress selfUniqueAddress)
        {
            var roleMembers = _members
                .Where(m => m.HasRole(role))
                .ToImmutableSortedSet();

            return LeaderOf(roleMembers, selfUniqueAddress);
        }

Usage Example

Пример #1
0
 private static IEnumerable<RoleLeaderChanged> InternalDiffRolesLeader(Gossip oldGossip, Gossip newGossip, UniqueAddress selfUniqueAddress)
 {
     foreach (var role in oldGossip.AllRoles.Union(newGossip.AllRoles))
     {
         var newLeader = newGossip.RoleLeader(role, selfUniqueAddress);
         if (newLeader == null && oldGossip.RoleLeader(role, selfUniqueAddress) != null)
             yield return new RoleLeaderChanged(role, null);
         if (newLeader != null && !newLeader.Equals(oldGossip.RoleLeader(role, selfUniqueAddress)))
             yield return new RoleLeaderChanged(role, newLeader.Address);
     }
 }
All Usage Examples Of Akka.Cluster.Gossip::RoleLeader