Protobuf的自动反射消息类型的方法

时间:2023-03-08 19:52:09

1. 每个消息头部中带上type name,作为消息的类型标识

2. 通过type name可以找到描述符Descriptor*, FindMessageTypeByName

3. 通过描述符Descriptor*,创建一个对应type name的对象,再用消息的payload去初始化这个消息对象

4. 具现化instantiation每个对应消息的Callback,放入map中,键值就可以用Descriptor*

5. 通过上面的消息对象,引用Descriptor*就可以找到Callback,来处理消息