Files
managing-apps/src/Managing.Application/Shared/StreamService.cs
2024-05-03 16:39:25 +05:00

31 lines
845 B
C#

using Managing.Application.Abstractions.Services;
using Managing.Application.Hubs;
using Microsoft.AspNetCore.SignalR;
namespace Managing.Application.Shared;
public class StreamService : IStreamService
{
private readonly IExchangeStream _exchangeStream;
private readonly IHubContext<CandleHub> _hubContext;
public StreamService(IExchangeStream exchangeStream, IHubContext<CandleHub> hubContext)
{
_exchangeStream = exchangeStream;
_hubContext = hubContext;
}
public async Task SubscribeCandle()
{
await _exchangeStream.StartBinanceWorker(Common.Enums.Ticker.BTC, async (candle) => {
await _hubContext.Clients.All.SendAsync(candle.Ticker, candle);
});
}
public async Task UnSubscribeCandle()
{
await _exchangeStream.StopBinanceWorker();
}
}