LookupTrackingManagerState
Standard-Implementierung von ILookupTrackingManagerState.
Implementiert: ILookupTrackingManagerState
Eigenschaften
public DateTime PreviousTime { get; set; }
value = lookupTrackingManagerState.PreviousTime
lookupTrackingManagerState.PreviousTime = value
Frühere Zeit für die Diff-Berechnung.
Methoden
public void AddLookup(long transactionId, ISubscriptionMessage subscription, TimeSpan timeout)
lookupTrackingManagerState.AddLookup(transactionId, subscription, timeout)
Fügen Sie einen Tracked Lookup mit Timeout hinzu.
- transactionId
- Transaktionskennung.
- subscription
- Abonnementnachricht (geklont).
- timeout
- Timeout-Dauer.
public void Clear()
lookupTrackingManagerState.Clear()
Löscht alle Adapterzustände und setzt den aktuellen Zustand auf Disconnected zurück.
public void IncreaseTimeOut(long[] subscriptionIds)
lookupTrackingManagerState.IncreaseTimeOut(subscriptionIds)
Erhöhen Sie den Timeout für Abonnements, die Daten erhalten haben.
- subscriptionIds
- Abonnement-IDs, die Daten erhalten haben.
public IEnumerable<ValueTuple<ISubscriptionMessage, Message>> ProcessTimeouts(TimeSpan diff, long[] ignoreIds)
result = lookupTrackingManagerState.ProcessTimeouts(diff, ignoreIds)
Verstrichene Prozesszeit und Rückgabe zeitversetzter Lookups. Entfernt zeitversetzte Einträge vom Tracking.
- diff
- Die Zeit ist seit der letzten Überprüfung verstrichen.
- ignoreIds
- Abonnement-IDs zu überspringen (sie haben gerade Daten erhalten).
Rückgabe: Timed-out Lookups.
public void RemoveLookup(long transactionId)
lookupTrackingManagerState.RemoveLookup(transactionId)
Entfernen Sie einen Tracked Lookup.
- transactionId
- Transaktionskennung.
public Message TryDequeueFromAnyType(long removingId)
result = lookupTrackingManagerState.TryDequeueFromAnyType(removingId)
Versuchen Sie, aus einer beliebigen Warteschlange zu löschen, nachdem Sie die angegebene ID entfernt haben.
- removingId
- Transaktions-ID zu entfernen.
Rückgabe: Nächste Nachricht in der Warteschlange oder null.
public Message TryDequeueNext(MessageTypes type, long removingId)
result = lookupTrackingManagerState.TryDequeueNext(type, removingId)
Versuchen Sie, das nächste Abonnement des angegebenen Typs zu speichern, nachdem Sie die angegebene ID entfernt haben.
- type
- Art der Meldung.
- removingId
- Transaktions-ID zum Entfernen aus der Warteschlange.
Rückgabe: Nächste Nachricht in der Warteschlange oder null.
public bool TryEnqueue(MessageTypes type, long transactionId, ISubscriptionMessage message)
result = lookupTrackingManagerState.TryEnqueue(type, transactionId, message)
Versuchen Sie, ein Abonnement in die Warteschlange pro Typ einzureihen.
- type
- Art der Meldung.
- transactionId
- Transaktionskennung.
- message
- Abonnementnachricht (geklont).
Rückgabe: True, wenn das Abonnement in der Warteschlange stand (nicht das erste in der Warteschlange), false, wenn es sofort fortgesetzt werden sollte.
public bool TryGetAndRemoveLookup(long transactionId, ISubscriptionMessage subscription)
result = lookupTrackingManagerState.TryGetAndRemoveLookup(transactionId, subscription)
Versuchen Sie, einen verfolgten Lookup zu erhalten und zu entfernen.
- transactionId
- Transaktionskennung.
- subscription
- Gefundenes Abonnement oder null.
Rückgabe: Wahr, wenn gefunden und entfernt.