using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace YunDa.Server.ISMSTcp.Services
{
///
/// 设备通信状态服务接口
/// 用于管理设备通信状态的缓存和查询
///
public interface IDeviceCommunicationStateService
{
///
/// 设置设备通信状态
///
/// 设备ID
/// 通信状态(0=断开,1=正常)
/// 取消令牌
/// 设置是否成功
Task SetDeviceCommunicationStateAsync(string deviceId, string commState, CancellationToken cancellationToken = default);
///
/// 获取设备通信状态
///
/// 设备ID
/// 取消令牌
/// 通信状态(0=断开,1=正常),null表示未找到
Task GetDeviceCommunicationStateAsync(string deviceId, CancellationToken cancellationToken = default);
///
/// 检查设备通信状态是否正常
///
/// 设备ID
/// 取消令牌
/// true=通信正常,false=通信异常或未找到
Task IsDeviceCommunicationNormalAsync(string deviceId, CancellationToken cancellationToken = default);
///
/// 批量设置设备通信状态
///
/// 设备状态字典(设备ID -> 通信状态)
/// 取消令牌
/// 成功设置的设备数量
Task SetDeviceCommunicationStatesAsync(Dictionary deviceStates, CancellationToken cancellationToken = default);
///
/// 清除设备通信状态缓存
///
/// 设备ID,为空则清除所有
/// 取消令牌
Task ClearDeviceCommunicationStateAsync(string? deviceId = null, CancellationToken cancellationToken = default);
}
}