Klasse TypePrefixSubscription
Diese Subscription gleicht Themen basierend auf einem Präfix des Typs ab und ordnet Agenten über die Quelle des Themas als Agentenschlüssel zu. Diese Subscription führt dazu, dass jede Quelle eine eigene Agenteninstanz hat.
public class TypePrefixSubscription : ISubscriptionDefinition
- Vererbung
-
TypePrefixSubscription
- Implementiert
- Geerbte Member
Hinweise
Beispiel
var subscription = new TypePrefixSubscription("t1", "a1");
In diesem Fall
- Ein TopicId mit Typ
"t1"und Quelle"s1"wird von einem Agenten vom Typ"a1"mit Schlüssel"s1"behandelt. - Ein TopicId mit Typ
"t1"und Quelle"s2"wird von einem Agenten vom Typ"a1"mit Schlüssel"s2"behandelt. - Ein TopicId mit Typ
"t1SUFFIX"und Quelle"s2"wird von einem Agenten vom Typ"a1"mit Schlüssel"s2"behandelt.
Konstruktoren
TypePrefixSubscription(string, AgentType, string?)
Initialisiert eine neue Instanz der Klasse TypePrefixSubscription.
public TypePrefixSubscription(string topicTypePrefix, AgentType agentType, string? id = null)
Parameter
topicTypePrefixstringTopic-Typ-Präfix, das abgeglichen werden soll.
agentTypeAgentTypeAgenten-Typ, der diese Subscription behandelt.
idstringEindeutiger Bezeichner für die Subscription. Wenn nicht angegeben, wird eine neue UUID generiert.
Eigenschaften
AgentType
Ruft den Agenten-Typ ab, der diese Subscription behandelt.
public AgentType AgentType { get; }
Eigenschaftswert
Id
Ruft die eindeutige Kennung des Abonnements ab.
public string Id { get; }
Eigenschaftswert
TopicTypePrefix
Ruft das Topic-Typ-Präfix ab, das für den Abgleich verwendet wird.
public string TopicTypePrefix { get; }
Eigenschaftswert
Methoden
Equals(object?)
Bestimmt, ob das angegebene Objekt mit dem aktuellen Abonnement identisch ist.
public override bool Equals(object? obj)
Parameter
objobjectDas Objekt, das mit der aktuellen Instanz verglichen werden soll.
Rückgabe
- bool
true, wenn das angegebene Objekt mit dieser Instanz identisch ist; andernfallsfalse.
GetHashCode()
Gibt einen Hashcode für diese Instanz zurück.
public override int GetHashCode()
Rückgabe
- int
Ein Hashcode für diese Instanz, der für die Verwendung in Hashing-Algorithmen und Datenstrukturen geeignet ist.
MapToAgent(TopicId)
Ordnet eine TopicId einer AgentId zu. Sollte nur aufgerufen werden, wenn Matches(TopicId) true zurückgibt.
public AgentId MapToAgent(TopicId topic)
Parameter
topicTopicIdDas zuzuordnende Thema.
Rückgabe
Ausnahmen
- InvalidOperationException
Wird ausgelöst, wenn das Thema nicht mit der Subscription übereinstimmt.
Matches(TopicId)
Prüft, ob eine gegebene TopicId mit der Subscription basierend auf ihrem Typ-Präfix übereinstimmt.
public bool Matches(TopicId topic)
Parameter
topicTopicIdDas zu prüfende Thema.
Rückgabe
- bool
true, wenn der Typ des Themas mit dem Präfix der Subscription beginnt, andernfallsfalse.