BasicDistributedActor.Program.KillOneClusterNode C# (CSharp) Method

KillOneClusterNode() private static method

private static KillOneClusterNode ( string role ) : void
role string
return void
        private static void KillOneClusterNode(string role)
        {
            var index = _clusterNodes.FindIndex(c => c.Roles.Any(r => r == role));
            if (index != -1)
            {
                var node = _clusterNodes[index];
                _clusterNodes.RemoveAt(index);
                var cluster = Cluster.Get(node.Context.System);
                cluster.Leave(cluster.SelfAddress);
                Thread.Sleep(2000);
                node.Context.System.Terminate();

                // TODO: Gracefully leave from cluster?
            }
        }