/// <summary> /// TBD /// </summary> /// <param name="oldGossip">TBD</param> /// <param name="newGossip">TBD</param> /// <param name="selfUniqueAddress">TBD</param> /// <returns>TBD</returns> internal static ImmutableList <ReachableMember> DiffReachable(Gossip oldGossip, Gossip newGossip, UniqueAddress selfUniqueAddress) { if (newGossip.Equals(oldGossip)) { return(ImmutableList <ReachableMember> .Empty); } return(oldGossip.Overview.Reachability.AllUnreachable .Where(node => newGossip.HasMember(node) && newGossip.Overview.Reachability.IsReachable(node) && !node.Equals(selfUniqueAddress)) .Select(node => new ReachableMember(newGossip.GetMember(node))) .ToImmutableList()); }
internal static ImmutableList <ReachableMember> DiffReachable(Gossip oldGossip, Gossip newGossip) { if (newGossip.Equals(oldGossip)) { return(ImmutableList.Create <ReachableMember>()); } return (oldGossip.Overview.Reachability.AllUnreachable .Where(a => newGossip.HasMember(a) && newGossip.Overview.Reachability.IsReachable(a)) .Select(a => new ReachableMember(newGossip.GetMember(a))) .ToImmutableList()); }
internal static ImmutableList<ReachableMember> DiffReachable(Gossip oldGossip, Gossip newGossip) { if (newGossip.Equals(oldGossip)) return ImmutableList.Create<ReachableMember>(); return oldGossip.Overview.Reachability.AllUnreachable .Where(a => newGossip.HasMember(a) && newGossip.Overview.Reachability.IsReachable(a)) .Select(a => new ReachableMember(newGossip.GetMember(a))) .ToImmutableList(); }