LookupTrackingManagerState
Реализация ILookupTrackingManagerState по умолчанию.
Реализует: ILookupTrackingManagerState
Свойства
public DateTime PreviousTime { get; set; }
value = lookupTrackingManagerState.PreviousTime
lookupTrackingManagerState.PreviousTime = value
Предыдущее время для расчёта.
Методы
public void AddLookup(long transactionId, ISubscriptionMessage subscription, TimeSpan timeout)
lookupTrackingManagerState.AddLookup(transactionId, subscription, timeout)
Добавьте отслеживаемый поиск с таймаутом.
- transactionId
- Идентификатор транзакции.
- subscription
- Сообщение о подписке (клонированное).
- timeout
- Продолжительность тайм-аута.
public void Clear()
lookupTrackingManagerState.Clear()
Очищает все состояния адаптера и сбрасывает текущее состояние на «Отключено».
public void IncreaseTimeOut(long[] subscriptionIds)
lookupTrackingManagerState.IncreaseTimeOut(subscriptionIds)
Увеличьте время ожидания для подписок, получивших данные.
- subscriptionIds
- Идентификаторы подписок, получивших данные.
public IEnumerable<ValueTuple<ISubscriptionMessage, Message>> ProcessTimeouts(TimeSpan diff, long[] ignoreIds)
result = lookupTrackingManagerState.ProcessTimeouts(diff, ignoreIds)
Время обработки истекло, и возврат результатов поиска по истечении времени ожидания. Удаляет записи с истекшим сроком ожидания из отслеживания.
- diff
- Прошло время с момента последней проверки.
- ignoreIds
- Идентификаторы подписок, которые нужно пропустить (они только что получили данные).
Возвращает: Поиск по тайм-ауту.
public void RemoveLookup(long transactionId)
lookupTrackingManagerState.RemoveLookup(transactionId)
Удалить отслеживаемый поиск.
- transactionId
- Идентификатор транзакции.
public Message TryDequeueFromAnyType(long removingId)
result = lookupTrackingManagerState.TryDequeueFromAnyType(removingId)
Попробуйте исключить из очереди любого типа после удаления указанного идентификатора.
- removingId
- Идентификатор транзакции, которую нужно удалить.
Возвращает: Следующее сообщение в очереди или нулевое.
public Message TryDequeueNext(MessageTypes type, long removingId)
result = lookupTrackingManagerState.TryDequeueNext(type, removingId)
Попробуйте исключить из очереди следующую подписку данного типа после удаления указанного идентификатора.
- type
- Тип сообщения.
- removingId
- Идентификатор транзакции, которую необходимо удалить из очереди.
Возвращает: Следующее сообщение в очереди или нулевое.
public bool TryEnqueue(MessageTypes type, long transactionId, ISubscriptionMessage message)
result = lookupTrackingManagerState.TryEnqueue(type, transactionId, message)
Попробуйте поставить подписку в очередь для каждого типа.
- type
- Тип сообщения.
- transactionId
- Идентификатор транзакции.
- message
- Сообщение о подписке (клонированное).
Возвращает: True, если подписка была поставлена в очередь (не первая в очереди), false, если она должна быть продолжена немедленно.
public bool TryGetAndRemoveLookup(long transactionId, ISubscriptionMessage subscription)
result = lookupTrackingManagerState.TryGetAndRemoveLookup(transactionId, subscription)
Попробуйте получить и удалить отслеживаемый поиск.
- transactionId
- Идентификатор транзакции.
- subscription
- Подписка найдена или нулевая.
Возвращает: Верно, если найдено и удалено.