namespace Aging.ResourceContracts { /// IPC 消息类型常量(MVP 仅四种)。 public static class IpcMessageTypes { public const string Hello = "Hello"; // 握手:回 epoch/configHash public const string SubmitTask = "SubmitTask"; // body=DeviceOperation public const string CancelTask = "CancelTask"; public const string ProbeReadback = "ProbeReadback"; // 恢复回收前的读回探测 } /// 请求/响应共同封套。协议版本不匹配直接拒绝连接。 public sealed class IpcEnvelope { public int ProtocolVersion { get; set; } = 1; public string MessageType { get; set; } = ""; public string RequestId { get; set; } = ""; public string CorrelationId { get; set; } = ""; public string ClientInstanceId { get; set; } = ""; public string AuthorityId { get; set; } = ""; public string ConfigHash { get; set; } = ""; public long DeadlineUtcMs { get; set; } public string BodyJson { get; set; } = "{}"; } public sealed class HelloResult { public long ServerEpoch { get; set; } public string ConfigHash { get; set; } = ""; public int ProtocolVersion { get; set; } = 1; public string BrokerId { get; set; } = ""; } }