| File: Coordinator\Messages\NodeGrantMessage.ExtendedFields.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. using System; namespace Microsoft.Build.Framework.Coordinator; internal sealed partial record NodeGrantMessage { /// <summary> /// Flags describing which capability-gated fields are present in a <see cref="NodeGrantMessage"/> payload. /// </summary> /// <remarks> /// Each flag corresponds to a capability that both the coordinator and the client must advertise during the /// handshake before the associated field is written to (or expected on) the wire. Callers compute the /// applicable flags from the negotiated capabilities of the peer they are writing to, so that peers which /// predate a given capability -- and therefore don't know how to parse its field -- are never sent it. /// </remarks> [Flags] internal enum ExtendedFields : byte { /// <summary> /// No capability-gated fields are present. This is the original, legacy shape. /// </summary> None = 0, /// <summary> /// The payload includes a <see cref="Guid"/> root grant token, because both peers advertised the /// <see cref="Capabilities.NestedGrants"/> capability. /// </summary> GrantId = 1 << 0, } }