SubscriptionReplayTracker
Отслеживает активные подписки на connectors, которые самостоятельно обрабатывают повторное подключение. После повторного подключения предоставляет клонированные подписки с параметром From = null (только онлайн, без повторного запроса истории).
Свойства
public int Count { get; }
value = subscriptionReplayTracker.Count
Количество отслеживаемых в настоящее время подписок.
Методы
public void Clear()
subscriptionReplayTracker.Clear()
Очистить все отслеживаемые подписки. Вызовите полный сброс/отключение.
public IEnumerable<ISubscriptionMessage> GetSubscriptionsForReplay()
result = subscriptionReplayTracker.GetSubscriptionsForReplay()
Получите все активные подписки для воспроизведения после внутреннего переподключения. Возвращает клоны с From = null под исходными идентификаторами транзакций, поэтому повторное подключение остается прозрачным для кода над адаптером — внешние подписчики продолжают получать данные под txId, на который они изначально подписались.
Возвращает: Клонированные сообщения подписки, готовые к повторной отправке.
public void Process(ISubscriptionMessage message)
subscriptionReplayTracker.Process(message)
Отслеживать или отменять подписку на основе IsSubscribe.
- message
- Сообщение о подписке.
public void Track(ISubscriptionMessage message)
subscriptionReplayTracker.Track(message)
Отслеживать подписку. Вызов, когда адаптер получает сообщение о подписке.
- message
- Сообщение о подписке (IsSubscribe должно быть правдивым).
public bool Untrack(long originalTransactionId)
result = subscriptionReplayTracker.Untrack(originalTransactionId)
Перестаньте отслеживать подписку. Вызывается, когда адаптер получает сообщение об отказе от подписки.
- originalTransactionId
- Исходный идентификатор транзакции подписки, которую нужно удалить.
Возвращает: если подписка была найдена и удалена.