using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TeamAAS_VP.Enums;
namespace TeamAAS_VP.Core.Lights
{
///
/// 定义灯光控制或通信设备的通用通信协议契约。
/// 实现此接口的类负责建立连接、发送/接收数据以及在连接状态改变时通知订阅者。
/// 实现类应负责释放底层资源,因此继承自 。
///
public interface ICommunicationProtocol : IDisposable
{
///
/// 获取当前连接状态。
/// 返回 true 表示已建立连接并可进行数据收发;false 表示未连接或已断开。
///
bool IsConnected { get; }
///
/// 获取或设置通信报文的结束标记(终止符)。
/// 该标记用于分割或终结文本协议消息。
///
Terminator Terminator { get; }
///
/// 获取用于文本消息编码/解码的字符编码(例如 UTF8、ASCII)。
/// 当使用字符串重载的发送/接收方法时,此编码将被应用。
///
Encoding Encoding { get; }
///
/// 当连接状态发生变化时触发。
/// sender 为事件源,bool 参数表示新的连接状态(true=已连接,false=已断开)。
///
event Action