/// <summary> /// Constructs a response where a result should be sent or execution should be resumed. /// </summary> /// <param name="node">The node ID to which the result should be sent.</param> /// <param name="unblocker">The result to send.</param> private ScheduleResponse(int node, BuildRequestUnblocker unblocker) { Action = (unblocker.Result == null) ? ScheduleActionType.ResumeExecution : ScheduleActionType.ReportResults; NodeId = node; Unblocker = unblocker; BuildResult = unblocker.Result; }
/// <summary> /// Constructs a response indicating there is a circular dependency caused by the specified request. /// </summary> private ScheduleResponse(int nodeId, BuildRequest parentRequest, BuildRequest requestCausingCircularDependency) { Action = ScheduleActionType.CircularDependency; BuildRequest = requestCausingCircularDependency; NodeId = nodeId; Unblocker = new BuildRequestUnblocker(parentRequest, new BuildResult(requestCausingCircularDependency, true /* circularDependency */)); }
/// <summary> /// Handles the BuildResult packet. /// </summary> private void HandleBuildResult(BuildRequestUnblocker unblocker) { _buildRequestEngine.UnblockBuildRequest(unblocker); }