using System.Collections.Generic; using System.Threading; using AsbCloudApp.Data; namespace AsbCloudApp.Services; /// /// Сервис для добавление уведомлений в очередь /// public interface INotificationSendingQueueService { /// /// Флаг для проверки пустая ли коллекция /// bool IsEmpty { get; } /// /// Добавление одного уведомления в очередь /// /// void Enqueue(NotificationDto notificationDto); /// /// Добавление нескольких уведомлений в очередь /// /// void EnqueueRange(IEnumerable notifications); /// /// Извлечение элемента из очереди и его удаление /// /// /// bool TryDequeue(out NotificationDto notification); /// /// Метод ожидания нового уведомления /// /// void Wait(CancellationToken cancellationToken); }