Esempio n. 1
0
        public MPIWorkOrchestrator(Options options, IMessageHub messageHub, IMessageSink messageSink,
                                   IWorkerNodesLifecycleManager nodesManager)
            : base(options, messageHub, messageSink, nodesManager)
        {
            communicator = Communicator.world;

            this.nodesManager = nodesManager;
        }
Esempio n. 2
0
        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>();
        }