releases/VideoDownloader.Server/QueueHub.cs

17 lines
590 B
C#

using Microsoft.AspNetCore.SignalR;
namespace VideoDownloader.Server;
/// <summary>
/// 실시간 큐 허브(MOBILE_PLAN §3 <c>/hubs/queue</c>).
/// 클라이언트는 접속 직후 GetQueue 로 스냅샷을 받고, 이후 서버발 queueUpdated 푸시로 갱신한다
/// (2초 폴링의 실시간 대체 — 폴링 클라이언트와 공존).
/// </summary>
public sealed class QueueHub : Hub
{
private readonly IQueueAdapter _queue;
public QueueHub(IQueueAdapter queue) => _queue = queue;
public Task<IReadOnlyList<QueueItemDto>> GetQueue() => _queue.GetItemsAsync();
}