From 559890c482f5973f06aafdfec9550fee5ba3c7f2 Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 09 十一月 2026 17:02:15 +0800
Subject: [PATCH] feat: CAN 模拟器 TCP 化 + 多设备并发调试 + 后台生命周期管理

---
 Aging.Infrastructure/Drivers/ICanTransport.cs |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/Aging.Infrastructure/Drivers/ICanTransport.cs b/Aging.Infrastructure/Drivers/ICanTransport.cs
new file mode 100644
index 0000000..ecc83d0
--- /dev/null
+++ b/Aging.Infrastructure/Drivers/ICanTransport.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Aging.Infrastructure.Drivers
+{
+    /// <summary>
+    /// CAN 椹卞姩浼犺緭鍚庣鎶借薄锛氬睆钄� Local(TCP 鐩磋繛妯℃嫙鍣�) 涓� Broker(鍛藉悕绠¢亾濮旀墭瀹夸富) 宸紓銆�
+    /// 涓婂眰 <see cref="CanDeviceDriver"/> 鍙笌鏈帴鍙d氦浜掞紝鍛戒护涓茶涔夊師鏍烽�忎紶銆�
+    /// </summary>
+    internal interface ICanTransport : IDisposable
+    {
+        /// <summary>鍚庣鏄惁澶勪簬鍙敤杩炴帴鎬�</summary>
+        bool IsConnected { get; }
+
+        /// <summary>寤虹珛閫氶亾锛圱CP 杩炴帴 + HELLO 鎸傝浇 / Broker CONNECT 娉ㄥ唽鐗╃悊浼氳瘽锛�</summary>
+        Task ConnectAsync(string busName, int nodeIndex, CancellationToken ct);
+
+        /// <summary>鏂紑褰撳墠鑺傜偣鎸傝浇锛圱CP DISCONNECT / Broker DISCONNECT锛�</summary>
+        Task DisconnectAsync();
+
+        /// <summary>
+        /// 鍙戦�佷竴琛屽懡浠ゅ苟绛夊緟鍝嶅簲琛屻�俵ine 涓哄畬鏁村懡浠や覆锛圫END:鈥� 鎴� QUERY:鈥︼級銆�
+        /// 杩斿洖鍝嶅簲鏂囨湰锛堝惈 OK:/ERR: 鍓嶇紑锛岀敱涓婂眰瑙f瀽锛夛紱瓒呮椂/鏂嚎鎶涘紓甯搞��
+        /// </summary>
+        Task<string> TransceiveAsync(string line, CancellationToken ct);
+
+        /// <summary>鏈嶅姟绔帹閫佺殑 EV:RECV 琛屽埌杈撅紙NodeChannel 涓� TCP 鐩存帹锛汢rokerRpc 涓洪殢鍝嶅簲鎹庡甫锛�</summary>
+        event Action<string> FramePushed;
+
+        /// <summary>閫氶亾鏂浜嬩欢锛堣Е鍙戜笂灞傞噸杩�/鐘舵�佹洿鏂帮級</summary>
+        event Action TransportBroken;
+    }
+}

--
Gitblit v1.9.1