| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// V3.0 执行位置枚举:Local=进程独占直连;Broker=跨进程共享,由 DeviceBroker 宿主代理 |
| | | /// </summary> |
| | | public enum ExecutionModeKind |
| | | { |
| | | Local, |
| | | Broker |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 传输方式枚举 |
| | | /// </summary> |
| | | public enum TransportType |
| | |
| | | private string endpoint = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 执行位置: Local / Broker(V3.0 §05,默认 Local) |
| | | /// </summary> |
| | | [ObservableProperty] |
| | | private ExecutionModeKind executionMode = ExecutionModeKind.Local; |
| | | |
| | | /// <summary> |
| | | /// 仲裁域标识(必填,候选值由配置枚举;同一 PhysicalSessionKey 只能归属一个仲裁域宿主) |
| | | /// </summary> |
| | | [ObservableProperty] |
| | | private string authorityId = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// Broker 宿主标识(仅 Broker 模式;须与仲裁域一致) |
| | | /// </summary> |
| | | [ObservableProperty] |
| | | private string brokerId = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// Broker 宿主进程号(仅 Broker 记录用,运行期以 Broker 实际 PID 为准;MVP 占位当前进程) |
| | | /// </summary> |
| | | [ObservableProperty] |
| | | private string ownerProcessId = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 物理会话键(仅 Broker;地址规范化后的固定字符串,如 can/CAN_BUS_1/main) |
| | | /// </summary> |
| | | [ObservableProperty] |
| | | private string physicalSessionKey = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 访问控制策略:只读派生,不可手工编辑(V3.0 §05) |
| | | /// </summary> |
| | | public string AccessPolicy => ExecutionMode switch |
| | | { |
| | | ExecutionModeKind.Broker => "共享仲裁 · Broker SessionGate 代理", |
| | | _ => "独占直连 · 本进程持有物理会话" |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 生效版本号 |
| | | /// </summary> |
| | | [ObservableProperty] |