using AsbCloudApp.Data.SAUB; using SignalRSwaggerGen.Attributes; using System.Collections; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudWebApi.SignalR.Clients { /// <summary> /// Hub по работе с телеметрией /// </summary> [SignalRHub] public interface ITelemetryHubClient { /// <summary> /// Отправка клиенту уведомления о доставке с панели drill test данных. /// Для подписки на метод необходимо отправить сообщение в формате $"well_{idWell}" /// </summary> /// <param name="dto"></param> /// <param name="token"></param> /// <returns></returns> Task ReceiveDrilltestData(DrillTestDto dto, CancellationToken token); /// <summary> /// Обновление записей РТК /// Для подписки на метод необходимо отправить сообщение "ProcessMapWellDrilling" /// </summary> /// <param name="dtos"></param> /// <param name="token"></param> /// <returns></returns> Task UpdateProcessMap(IEnumerable dtos, CancellationToken token); /// <summary> /// Отправка сауб-данных клиенту. /// Для подписки на метод необходимо отправить сообщение в формате $"well_{idWell}" /// </summary> /// <param name="dtos"></param> /// <param name="token"></param> /// <returns></returns> Task ReceiveDataSaub(IEnumerable<TelemetryDataSaubDto> dtos, CancellationToken token); /// <summary> /// Отправка спин-данных клиенту. /// Для подписки на метод необходимо отправить сообщение в формате $"well_{idWell}" /// </summary> /// <param name="dtos"></param> /// <param name="token"></param> /// <returns></returns> Task ReceiveDataSpin(IEnumerable<TelemetryDataSpinDto> dtos, CancellationToken token); } }