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