BackEnd\Components\BuildRequestEngine\BuildRequestEntry.cs (24)
80private Dictionary<int, List<BuildRequest>> _unresolvedConfigurations;
86private List<BuildRequest> _requestsToIssue;
96private Dictionary<int, BuildRequest> _outstandingRequests;
123internal BuildRequestEntry(BuildRequest request, BuildRequestConfiguration requestConfiguration)
132_blockingGlobalRequestId = BuildRequest.InvalidGlobalRequestId;
161public BuildRequest Request { get; }
205public void WaitForResult(BuildRequest newRequest)
235if (_unresolvedConfigurations?.TryGetValue(unresolvedConfigId, out List<BuildRequest> requests) != true)
247foreach (BuildRequest request in requests)
260public List<BuildRequest> GetRequestsToIssueIfReady()
264List<BuildRequest> requests = _requestsToIssue;
331_blockingGlobalRequestId = BuildRequest.InvalidGlobalRequestId;
371if (_outstandingRequests == null && _unresolvedConfigurations == null && _blockingGlobalRequestId == BuildRequest.InvalidGlobalRequestId)
386ErrorUtilities.VerifyThrow(_blockingGlobalRequestId != BuildRequest.InvalidGlobalRequestId, "Entry must be waiting on another request to be unblocked. Config: {0} Request: {1}", RequestConfiguration.ConfigurationId, Request.GlobalRequestId);
388_blockingGlobalRequestId = BuildRequest.InvalidGlobalRequestId;
432foreach (KeyValuePair<int, BuildRequest> requestEntry in _outstandingRequests)
440foreach (List<BuildRequest> requests in _unresolvedConfigurations.Values)
442foreach (BuildRequest request in requests)
496private void WaitForResult(BuildRequest newRequest, bool addToIssueList)
504_outstandingRequests ??= new Dictionary<int, BuildRequest>();
512_unresolvedConfigurations ??= new Dictionary<int, List<BuildRequest>>();
514if (!_unresolvedConfigurations.TryGetValue(newRequest.ConfigurationId, out List<BuildRequest> value))
516value = new List<BuildRequest>();
525_requestsToIssue ??= new List<BuildRequest>();
BackEnd\Components\Scheduler\Scheduler.cs (24)
288public BuildRequest GetExecutingRequestByNode(int nodeId)
309if (blocker.BlockedRequestId != BuildRequest.InvalidGlobalRequestId)
331else if ((blocker.BlockingRequestId == blocker.BlockedRequestId) && blocker.BlockingRequestId != BuildRequest.InvalidGlobalRequestId)
337else if (blocker.BlockingRequestId != BuildRequest.InvalidGlobalRequestId)
382if (result.NodeRequestId == BuildRequest.ResultsTransferNodeRequestId)
1010private bool IsTraversalRequest(BuildRequest request)
1152BuildRequest currentRequest = currentSchedulableRequest.BuildRequest;
1650BuildRequest newRequest = new BuildRequest(parentRequest.BuildRequest.SubmissionId, BuildRequest.ResultsTransferNodeRequestId, parentRequest.BuildRequest.ConfigurationId, [], null, parentRequest.BuildRequest.BuildEventContext, parentRequest.BuildRequest, parentRequest.BuildRequest.BuildRequestDataFlags);
1682Stack<BuildRequest> requestsToAdd = new Stack<BuildRequest>(blocker.BuildRequests.Length);
1683foreach (BuildRequest request in blocker.BuildRequests)
1686if (request.GlobalRequestId == BuildRequest.InvalidGlobalRequestId)
1805BuildRequest requestToAdd = requestsToAdd.Pop();
1943private ScheduleResponse TrySatisfyRequestFromCache(int nodeForResults, BuildRequest request, bool skippedResultsDoNotCauseCacheMiss)
1957private bool CheckIfCacheMissOnReferencedProjectIsAllowedAndErrorIfNot(int nodeForResults, BuildRequest request, List<ScheduleResponse> responses, out Action<ILoggingService> emitNonErrorLogs)
2046bool SkipNonexistentTargetsIfExistentTargetsHaveResults(BuildRequest buildRequest)
2101private ScheduleResponse GetResponseForResult(int parentRequestNode, BuildRequest requestWhichGeneratedResult, BuildResult result)
2123private void LogRequestHandledFromCache(BuildRequest request, BuildResult result)
2161private NodeAffinity GetNodeAffinityForRequest(BuildRequest request)
2246private void AssignGlobalRequestId(BuildRequest request)
2249if (request.GlobalRequestId != BuildRequest.InvalidGlobalRequestId
2322int invalidWorkId = useConfigurations ? BuildRequestConfiguration.InvalidConfigurationId : BuildRequest.InvalidGlobalRequestId;
2808var buildRequest = request.BuildRequest;