/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Testing/Implementations/BusActivityMonitor.cs
42 строки
1 KB
Chris Patterson
Integration of all external packages into MassTransit, split out into Abstractions, Middleware, and the core MassTransit assembly.
22 янв 2022, 18:24
22 янв 2022, 18:24
b5b4f50
Код
Авторство
О чём код?
namespace MassTransit.Testing.Implementations { using System; using System.Threading; using System.Threading.Tasks; /// <summary> /// Signalable resource which monitors bus activity. /// </summary> public class BusActivityMonitor : ISignalResource, IBusActivityMonitor { readonly SemaphoreSlim _activityEvent = new SemaphoreSlim(0, 1); Task IBusActivityMonitor.AwaitBusInactivity() { return _activityEvent.WaitAsync(); } Task<bool> IBusActivityMonitor.AwaitBusInactivity(TimeSpan timeout) { return _activityEvent.WaitAsync(timeout); } Task IBusActivityMonitor.AwaitBusInactivity(CancellationToken cancellationToken) { return _activityEvent.WaitAsync(cancellationToken); } void ISignalResource.Signal() { try { _activityEvent.Release(); } catch (SemaphoreFullException) { } } } }