1 instantiation of BuildGrant
MSBuild.Coordinator (1)
CoordinatorServer.cs (1)
196BuildGrant grant = new(handshake.ConnectionId, handshake.ProcessId, request.RequestedNodes);
20 references to BuildGrant
MSBuild.Coordinator (20)
ClientConnection.cs (3)
11/// Tracks the pipe connection for a single MSBuild client alongside its <see cref="BuildGrant"/>. 33public BuildGrant Grant { get; } 58public ClientConnection(Guid connectionId, int processId, ImmutableArray<string> capabilities, BuildGrant grant, NamedPipeServerStream pipeStream)
CoordinatorServer.cs (3)
196BuildGrant grant = new(handshake.ConnectionId, handshake.ProcessId, request.RequestedNodes); 298ImmutableArray<BuildGrant> newlyGranted = _budgetManager.Release(connection.Grant); 306foreach (BuildGrant grant in newlyGranted)
CoordinatorTelemetry.cs (4)
40public static void RecordGrantIssued(BuildGrant grant, int queueDepth, int activeBuilds, int allocatedNodes) 55public static void RecordGrantDeferred(BuildGrant grant, int queueDepth) 67public static void RecordDeferredGrantFulfilled(BuildGrant grant, int queueDepth, int activeBuilds, int allocatedNodes) 81public static void RecordGrantReleased(BuildGrant grant, int queueDepth, int activeBuilds, int allocatedNodes)
NodeBudgetManager.cs (10)
16private readonly List<BuildGrant> _activeGrants = []; 17private readonly Queue<BuildGrant> _waitQueue = new(); 77public int TryGrant(BuildGrant grant) 120public ImmutableArray<BuildGrant> Release(BuildGrant grant) 148private ImmutableArray<BuildGrant> DrainWaitQueue_NoLock() 150using RefArrayBuilder<BuildGrant> newlyGranted = new(); 158BuildGrant waiting = _waitQueue.Dequeue(); 172private void RemoveFromWaitQueue_NoLock(BuildGrant grant) 179BuildGrant queued = _waitQueue.Dequeue();