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; } = "";
}
}