我正在使用支持扩展的 java 和 proto buf 读取 UDP 流。
在任何给定时间,我都可以获得三种不同类型的数据,它们对应于三种不同类型的 proto 文件。
我在用
registry.add(CpuUtilization.cpuUtilExt);
registry.add(NpuUtilization.npuExt);
registry.add(Optics.opticsExt);
所有三个 proto 文件都使用下面提到的语法进行扩展
extend NetworksSensors {
optional PFEHeapInfo pfeHeapInfoExt = 1;
}
extend NetworksSensors {
optional NpuUtilization npuExt = 2;
}
extend NetworksSensors {
optional CpuUtilization cpuUtilExt = 3;
}
我正在做的是创建三个独立的方法,并根据标题字段中的值处理每种传感器的数据。
有没有办法我可以根据即将到来的扩展数据来决定调用哪个方法?
可能是描述符中的某些字段可以提供帮助,但我不知道如何使用它。任何想法?