From b69af4aedf290d2e50a101df01d70f62f285259b Mon Sep 17 00:00:00 2001 From: Griffin Bassman Date: Mon, 27 Jan 2025 14:45:57 -0500 Subject: [PATCH] add xml comments for ISubscriptionDefinition.cs --- .../PythonEquiv/ISubscriptionDefinition.cs | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/dotnet/src/Microsoft.AutoGen/Contracts/PythonEquiv/ISubscriptionDefinition.cs b/dotnet/src/Microsoft.AutoGen/Contracts/PythonEquiv/ISubscriptionDefinition.cs index ee24e6a02..da78c7656 100644 --- a/dotnet/src/Microsoft.AutoGen/Contracts/PythonEquiv/ISubscriptionDefinition.cs +++ b/dotnet/src/Microsoft.AutoGen/Contracts/PythonEquiv/ISubscriptionDefinition.cs @@ -5,16 +5,49 @@ using System.Diagnostics.CodeAnalysis; namespace Microsoft.AutoGen.Contracts.Python; +/// +/// Defines a subscription that matches topics and maps them to agents. +/// public interface ISubscriptionDefinition { + /// + /// Gets the unique identifier of the subscription. + /// public string Id { get; } + /// + /// Determines whether the specified object is equal to the current subscription. + /// + /// The object to compare with the current instance. + /// true if the specified object is equal to this instance; otherwise, false. public bool Equals([NotNullWhen(true)] object? obj) => obj is ISubscriptionDefinition other && Equals(other); + + /// + /// Determines whether the specified subscription is equal to the current subscription. + /// + /// The subscription to compare. + /// true if the subscriptions are equal; otherwise, false. public bool Equals(ISubscriptionDefinition? other) => Id == other?.Id; + /// + /// Returns a hash code for this subscription. + /// + /// A hash code for the subscription. public int GetHashCode() => Id.GetHashCode(); + /// + /// Checks if a given matches the subscription. + /// + /// The topic to check. + /// true if the topic matches the subscription; otherwise, false. public bool Matches(TopicId topic); + + /// + /// Maps a to an . + /// Should only be called if returns true. + /// + /// The topic to map. + /// The that should handle the topic. public AgentId MapToAgent(TopicId topic); }