添加契约和网络传输类库
This commit is contained in:
@@ -30,6 +30,38 @@ public static class GlobalStreamDispatcher
|
||||
|
||||
#endregion
|
||||
|
||||
// =================================================================
|
||||
// 1. 新增:真正的全局广播总线 (上帝模式)
|
||||
// 任何订阅了这个事件的人,都能收到【所有设备】的每一帧
|
||||
// =================================================================
|
||||
public static event Action<long, SmartFrame> OnGlobalFrame;
|
||||
|
||||
// =================================================================
|
||||
// 2. 原有:定向分发逻辑 (保留不动,给图像处理集群用)
|
||||
// =================================================================
|
||||
// private static ConcurrentDictionary<string, ...> _subscribers ...
|
||||
|
||||
/// <summary>
|
||||
/// 统一入口:驱动层调用此方法分发图像
|
||||
/// </summary>
|
||||
public static void Dispatch(long deviceId, SmartFrame frame)
|
||||
{
|
||||
// A. 优先触发全局广播 (给 ZeroMQ 用)
|
||||
try
|
||||
{
|
||||
// ?.Invoke 是线程安全的,如果设备被删除了,驱动层不调用 Dispatch,这里自然就不会触发
|
||||
// 如果新设备增加了,驱动层开始调用 Dispatch,这里自动就会触发
|
||||
OnGlobalFrame?.Invoke(deviceId, frame);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[GlobalBus Error] 广播异常: {ex.Message}");
|
||||
}
|
||||
|
||||
// B. 执行你原有的定向分发逻辑 (给处理链用)
|
||||
// DispatchToTargets(deviceId, frame);
|
||||
}
|
||||
|
||||
#region --- 2. 动态路由表 (Dynamic Routing Table) ---
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user