Akka.Cluster.ClusterHeartbeatSenderState.MembershipChange C# (CSharp) Method

MembershipChange() private method

private MembershipChange ( HeartbeatNodeRing newRing ) : ClusterHeartbeatSenderState
newRing HeartbeatNodeRing
return ClusterHeartbeatSenderState
        private ClusterHeartbeatSenderState MembershipChange(HeartbeatNodeRing newRing)
        {
            var oldReceivers = Ring.MyReceivers.Value;
            var removedReceivers = oldReceivers.Except(newRing.MyReceivers.Value);
            var newUnreachable = Unreachable;
            foreach (var r in removedReceivers)
            {
                if (FailureDetector.IsAvailable(r.Address))
                    FailureDetector.Remove(r.Address);
                else
                {
                    newUnreachable = newUnreachable.Add(r);
                }
            }
            return Copy(newRing, newUnreachable);
        }