Beispiel #1
0
 internal static ProcessId WatchWorkers(ProcessId router, IEnumerable <ProcessId> workers, RouterOption option)
 {
     if ((option & RouterOption.RemoveLocalWorkerWhenTerminated) == RouterOption.RemoveLocalWorkerWhenTerminated)
     {
         workers.Where(w => ActorContext.IsLocal(w)).Iter(w => watch(router, w));
     }
     if ((option & RouterOption.RemoveRemoteWorkerWhenTerminated) == RouterOption.RemoveRemoteWorkerWhenTerminated)
     {
         workers.Where(w => !ActorContext.IsLocal(w)).Iter(w => watch(router, w));
     }
     return(router);
 }