public MPIWorkOrchestrator(Options options, IMessageHub messageHub, IMessageSink messageSink, IWorkerNodesLifecycleManager nodesManager) : base(options, messageHub, messageSink, nodesManager) { communicator = Communicator.world; this.nodesManager = nodesManager; }
public DefaultWorkOrchestrator(Options options, IMessageHub messageHub, IMessageSink messageSink, IWorkerNodesLifecycleManager nodesManager) { this.options = options ?? throw new ArgumentNullException(nameof(options)); this.messageHub = messageHub ?? throw new ArgumentNullException(nameof(messageHub)); this.messageSink = messageSink ?? throw new ArgumentNullException(nameof(messageSink)); this.nodesManager = nodesManager ?? throw new ArgumentNullException(nameof(nodesManager)); subscriptions = new List <IDisposable>(); filepathsToTokenize = new Queue <string>(options.FilePaths); generatedDocuments = new List <Document>(filepathsToTokenize.Count()); documentsToNormalize = new Queue <Document>(filepathsToTokenize.Count()); termDocumentAppearances = new Dictionary <string, int>(); tokenizationDoneTCS = new TaskCompletionSource <int>(); }