namespace Monitor.Protocol;
public static class ProtocolVersion
{
public const int Container = 1;
public const int Wire = 1;
}
public static class ProtocolLimits
{
/// 持续任务每 10 秒切一块。
public const int ChunkSeconds = 10;
/// 单块记录数上限。
public const int MaxRecordsPerChunk = 50_000;
/// 解压后的块上限(防解压炸弹)。
public const int MaxDecodedChunkBytes = 64 << 20;
public const int MaxStreamsPerChunk = 16;
public const int MaxColumnsPerStream = 64;
/// 每条线路持续任务的总带宽上限(bit/s)。
public const long MaxLineBudgetBitsPerSecond = 100_000;
}
/// 二进制通道号(0–15 属于 Fleet,Monitor 从 16 开始)。
public static class MonitorChannels
{
/// Agent → Backend:RawChunk(发件箱)。
public const byte RawChunk = 16;
/// Probe → Agent:列块(点对点会话的发件箱)。
public const byte ColumnBlock = 17;
}
public static class MonitorCapabilities
{
public const string Base = "monitor.v1";
public const string KindsPrefix = "monitor.kinds:";
public const string BlocksPrefix = "monitor.blocks:";
}