Files
agent-framework/dotnet/src/Microsoft.Agents.AI.Workflows/Checkpointing/FanOutEdgeInfo.cs
T
Ben Thomas 647db9635a .NET: Rename workflows projects (#975)
* Renaming Microsoft.Agent.Workflows to Microsoft.Agents.AI.Workflows

* Removing local settings.

* Removing remining old files from merge.
2025-09-29 18:30:45 +00:00

32 lines
1017 B
C#

// Copyright (c) Microsoft. All rights reserved.
using System.Text.Json.Serialization;
using Microsoft.Agents.AI.Workflows.Execution;
namespace Microsoft.Agents.AI.Workflows.Checkpointing;
/// <summary>
/// Represents a fan-out <see cref="Edge"/> in the <see cref="Workflow"/>.
/// </summary>
public sealed class FanOutEdgeInfo : EdgeInfo
{
internal FanOutEdgeInfo(FanOutEdgeData data) : this(data.EdgeAssigner is not null, data.Connection) { }
[JsonConstructor]
internal FanOutEdgeInfo(bool hasAssigner, EdgeConnection connection) : base(EdgeKind.FanOut, connection)
{
this.HasAssigner = hasAssigner;
}
/// <summary>
/// Gets a value indicating whether this fan-out edge has an edge-assigner associated with it.
/// </summary>
public bool HasAssigner { get; }
internal override bool IsMatchInternal(EdgeData edgeData)
{
return edgeData is FanOutEdgeData fanOutEdge
&& this.HasAssigner == (fanOutEdge.EdgeAssigner is not null);
}
}