/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Testing/Implementations/BusTestPublishObserver.cs
42 строки
1 KB
Chris Patterson
Inspired by #3619 - Reworked the way inactivity timers work to more consistently handle timer resets as messages are received.
19 авг 2022, 17:57
19 авг 2022, 17:57
9d6e0cb
Код
Авторство
О чём код?
namespace MassTransit.Testing.Implementations { using System; using System.Threading; using System.Threading.Tasks; public class BusTestPublishObserver : InactivityTestObserver, IPublishObserver { readonly PublishedMessageList _messages; public BusTestPublishObserver(TimeSpan timeout, TimeSpan inactivityTimout, CancellationToken testCompleted = default) { _messages = new PublishedMessageList(timeout, testCompleted); StartTimer(inactivityTimout); } public IPublishedMessageList Messages => _messages; Task IPublishObserver.PrePublish<T>(PublishContext<T> context) { return RestartTimer(); } Task IPublishObserver.PostPublish<T>(PublishContext<T> context) { _messages.Add(context); return RestartTimer(false); } Task IPublishObserver.PublishFault<T>(PublishContext<T> context, Exception exception) { _messages.Add(context, exception); return RestartTimer(false); } } }