Example #1
0
        public void PostShutdownAssignment(ShutdownAssignment shutdownAssingment)
        {
            if (shutdownAssingment == null)
            {
                throw new ArgumentNullException(nameof(shutdownAssingment));
            }

            nodeMessages.Enqueue(shutdownAssingment);
        }
        public void PostShutdownAssignment(ShutdownAssignment assignment)
        {
            if (assignment == null)
            {
                throw new ArgumentNullException(nameof(assignment));
            }

            assignmentsSubject.OnNext(assignment);
        }
        private void ExecuteShutdown(ShutdownAssignment shutdown)
        {
            if (shutdown == null)
            {
                throw new ArgumentNullException(nameof(shutdown));
            }

            workIsDoneTCS.TrySetResult(0);
        }
        public Task StopWorkerNodesAsync()
        {
            if (communicator.Rank != 0)
            {
                return(Task.FromResult(0));
            }

            foreach (var node in nodes)
            {
                var assignment = new ShutdownAssignment(node.Id);
                messageSink.PostShutdownAssignment(assignment);
            }

            return(Task.FromResult(0));
        }