DD.WellWorkover.Cloud/AsbCloudWebApi/SignalR/Clients/ITelemetryHubClient.cs

65 lines
2.6 KiB
C#
Raw Normal View History

using AsbCloudApp.Data.SAUB;
using SignalRSwaggerGen.Attributes;
using System.Collections;
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>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task UpdateProcessMap<T>(IEnumerable dtos, CancellationToken token);
/// <summary>
/// Отправка данных клиенту.
/// Для подписки на метод необходимо отправить сообщение в формате $"well_{idWell}"
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task ReceiveData<T>(IEnumerable dtos, CancellationToken token);
/// <summary>
/// Отправка сауб-данных клиенту.
/// Для подписки на метод необходимо отправить сообщение в формате $"well_{idWell}"
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task ReceiveDataSaub<T>(IEnumerable dtos, CancellationToken token);
/// <summary>
/// Отправка спин-данных клиенту.
/// Для подписки на метод необходимо отправить сообщение в формате $"well_{idWell}"
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dtos"></param>
/// <param name="token"></param>
/// <returns></returns>
Task ReceiveDataSpin<T>(IEnumerable dtos, CancellationToken token);
}
}