Beispiel #1
0
 public ChooseWorkerCpu(
     LoggingContext loggingContext,
     int maxParallelDegree,
     IReadOnlyList <Worker> workers,
     IPipQueue pipQueue,
     PipGraph pipGraph,
     FileContentManager fileContentManager) : base(loggingContext, workers, pipQueue, DispatcherKind.ChooseWorkerCpu, maxParallelDegree)
 {
     m_pipTable = pipGraph.PipTable;
     m_executedProcessOutputs = new ContentTrackingSet(pipGraph);
     m_fileContentManager     = fileContentManager;
     m_pipSetupCostPool       = new ObjectPool <PipSetupCosts>(() => new PipSetupCosts(this), costs => costs, size: maxParallelDegree);
 }
Beispiel #2
0
 public ChooseWorkerCpu(
     LoggingContext loggingContext,
     IConfiguration config,
     IReadOnlyList <Worker> workers,
     IPipQueue pipQueue,
     PipGraph pipGraph,
     FileContentManager fileContentManager) : base(loggingContext, config, workers, pipQueue, DispatcherKind.ChooseWorkerCpu, config.Schedule.MaxChooseWorkerCpu)
 {
     m_pipTable = pipGraph.PipTable;
     m_executedProcessOutputs = new ContentTrackingSet(pipGraph);
     m_fileContentManager     = fileContentManager;
     m_pipSetupCostPool       = new ObjectPool <PipSetupCosts>(() => new PipSetupCosts(this), costs => costs, size: config.Schedule.MaxChooseWorkerCpu);
 }
Beispiel #3
0
 /// <summary>
 /// In case of a failed build request call after many retries, we reset available hashes
 /// to make sure that we do not overestimate what the worker contains.
 /// </summary>
 protected void ResetAvailableHashes(PipGraph pipGraph)
 {
     m_availableHashes = new ContentTrackingSet(pipGraph);
 }
Beispiel #4
0
 /// <summary>
 /// Initializes the worker
 /// </summary>
 public virtual void Initialize(PipGraph pipGraph, IExecutionLogTarget executionLogTarget, TaskSourceSlim <bool> schedulerCompletion)
 {
     m_availableContent = new ContentTrackingSet(pipGraph);
     m_availableHashes  = new ContentTrackingSet(pipGraph);
 }
Beispiel #5
0
 /// <summary>
 /// Initializes the worker after attach
 /// </summary>
 public virtual void Initialize(PipGraph pipGraph, IExecutionLogTarget executionLogTarget)
 {
     m_availableContent = new ContentTrackingSet(pipGraph);
     m_availableHashes  = new ContentTrackingSet(pipGraph);
 }