using YD_TrainingCompetition_Api.Competition;
using YD_TrainingCompetition_Api.Models;
namespace YD_TrainingCompetition_Api.Services;
public interface IRealtimeNotifier
{
Task BroadcastTelemetryAsync(DeviceSnapshot snapshot, CancellationToken cancellationToken = default);
Task BroadcastCompetitionStateAsync(CompetitionSessionState state, CancellationToken cancellationToken = default);
///
/// 通用广播方法,用于向所有客户端发送指定消息
///
Task SendAsync(string method, object? payload, CancellationToken cancellationToken = default);
///
/// 广播海康报警记录
///
Task BroadcastHikvisionAlarmAsync(AlarmRecord record, CancellationToken cancellationToken = default);
///
/// 广播海康摄像头状态变更
///
Task BroadcastHikvisionCameraStatusAsync(HikvisionCameraStatus status, CancellationToken cancellationToken = default);
}