2 instantiations of BuildGrant
MSBuild.Coordinator (2)
CoordinatorServer.cs (2)
298grant = new(connection.Id, connection.ProcessId, requestedNodes, isNested: false); 364grant = new BuildGrant(connection.Id, connection.ProcessId, requestedNodes, grantId, isNested: true)
33 references to BuildGrant
MSBuild.Coordinator (33)
CoordinatorServer.ConnectedClient.cs (2)
42public BuildGrant Grant { get; } 52public ConnectedClient(Connection connection, BuildGrant grant)
CoordinatorServer.cs (17)
32private readonly Dictionary<Guid, BuildGrant> _activeRootGrantsById = []; 213if (!TryProcessGrantRequest(connection, out BuildGrant? grant)) 283private bool TryProcessGrantRequest(Connection connection, [NotNullWhen(true)] out BuildGrant? grant) 357bool TryCreateNestedGrant(Connection connection, Guid grantId, int requestedNodes, [NotNullWhen(true)] out BuildGrant? grant) 361if (_activeRootGrantsById.TryGetValue(grantId, out BuildGrant? rootGrant) && 380private bool TryAcceptClient(Connection connection, BuildGrant grant, [NotNullWhen(true)] out ConnectedClient? client) 444ImmutableArray<BuildGrant> newlyGranted = ReleaseClientAndGrant(client); 450private ImmutableArray<BuildGrant> ReleaseClientAndGrant(ConnectedClient client) 470private void NotifyNewlyGrantedBuilds(ImmutableArray<BuildGrant> newlyGranted) 477Queue<BuildGrant> pendingNotifications = new(newlyGranted.Length); 483BuildGrant grant = pendingNotifications.Dequeue(); 505ImmutableArray<BuildGrant> appendedGrants = ReleaseClientAndGrant(waitingClient); 512private void EnqueueNewlyGrantedNotifications(Queue<BuildGrant> pendingNotifications, ImmutableArray<BuildGrant> newlyGranted) 520foreach (BuildGrant grant in newlyGranted) 526private void TrackRootGrant(BuildGrant grant) 534private static void WriteGrantMessage(ConnectedClient client, BuildGrant grant)
CoordinatorTelemetry.cs (4)
42public static void RecordGrantIssued(BuildGrant grant, int queueDepth, int activeBuilds, int allocatedNodes) 59public static void RecordGrantDeferred(BuildGrant grant, int queueDepth) 73public static void RecordDeferredGrantFulfilled(BuildGrant grant, int queueDepth, int activeBuilds, int allocatedNodes) 89public 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) 127public ImmutableArray<BuildGrant> Release(BuildGrant grant) 163private ImmutableArray<BuildGrant> DrainWaitQueue_NoLock() 165using RefArrayBuilder<BuildGrant> newlyGranted = new(); 173BuildGrant waiting = _waitQueue.Dequeue(); 187private void RemoveFromWaitQueue_NoLock(BuildGrant grant) 194BuildGrant queued = _waitQueue.Dequeue();