| File: IBuildEngine9.cs | Web Access |
| Project: src\msbuild\src\Framework\Microsoft.Build.Framework.csproj (Microsoft.Build.Framework) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable namespace Microsoft.Build.Framework { /// <summary> /// This interface extends <see cref="IBuildEngine8" /> to provide resource management API to tasks. /// </summary> public interface IBuildEngine9 : IBuildEngine8 { /// <summary> /// If a task launches multiple parallel processes, it should ask how many cores it can use. /// </summary> /// <param name="requestedCores">The number of cores a task can potentially use.</param> /// <returns>The number of cores a task is allowed to use.</returns> int RequestCores(int requestedCores); /// <summary> /// A task should notify the build manager when all or some of the requested cores are not used anymore. /// When task is finished, the cores it requested are automatically released. /// </summary> /// <param name="coresToRelease">Number of cores no longer in use.</param> void ReleaseCores(int coresToRelease); } }