自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Felix/XuWei的博客

https://felix1xuwei.github.io/

  • 博客(7)
  • 收藏
  • 关注

原创 Protobuf-源码中值得学习的地方

使用宏来提高代码可读性(代码的美感)例1.宏CHARACTER_CLASS定义tokenizer.cc文件中,需要判断某个character是属于哪种类型的字符,通过宏CHARACTER_CLASS来定义字符类型,并且定义static类型的InClass()接口来判断。 #define CHARACTER_CLASS(NAME, EXPRESSION) ...

2018-06-01 15:01:07 1717 1

原创 Protobuf-Plugin机制

plugin机制protobuf是一个支持plugin机制的序列化框架,除了protobuf自带的几种语言的CodeGenerator,用户可以按需实现自己的插件,来实现语言的拓展(比如protoc-gen-lua)或者功能的拓展(厂子内部的mcpack2pb插件)。 因为protoc插件需要实现跨平台、跨语言,所以采用的方式是父子进程的工作方式,父子进程通过pipe(父子进程共享fd)...

2018-06-01 14:59:14 5214 2

原创 Protobuf-Compiler相关类&代码生成流程

代码生成流程:核心流程如下图所示:核心数据结构类CommandLineInterfacegenerators_: map<string, GeneratorInfo>,提供从”–cpp_out” -> CppGenerator的映射,从protoc参数中获取需要的generator的名称;plugins_:map<string, string...

2018-06-01 14:58:44 2481

原创 Protobuf-Reflection类

类Reflection接口类,提供方法来动态访问/修改message中的field的接口类。调用Message::GetReflection()获得messge对应的reflection。 这个类没有放到Message类中,是从效率角度考虑的。因为绝大多数message的实现共用同一套Reflection(GeneratedMessageReflection),并且一个Message所有的o...

2018-06-01 14:58:05 3492

原创 Protobuf-Unknown字段

待解决的问题:分布式系统中,各个模块接口之间proto文件在升级过程中,必然会存在版本不一致的情况。 unknown字段,用于解决proto文件升级过程中,在多级联关系的各个模块(特别是涉及路由功能模块传递数据时)接口之间proto版本不一致,而导致数据无法传递的问题。例如:之前在hy-new-router重构项目开发中,就遇到这样的问题。利用driver向asp发送消息,消息到...

2018-06-01 14:56:40 8419

原创 Protobuf-Descriptor相关类

类Descriptor描述一种message类型(不是一个单独的message对象)的meta信息。构造函数是private类型,必须通过DescriptorPool(friend类)来构造。const的成员:const FileDescriptor* file_: 描述message所在的.proto文件信息const Descriptor* containing_type_...

2018-06-01 14:55:35 15759

原创 Protobuf-Message相关类

类MessageLite所有message的接口类,从名字看是lite的message,普通message也是它的子类。 MessageLite适合“轻量级”的message(仅仅提供 encoding+序列化 功能,没有使用使用reflection和descriptors)。在确定可以使用“轻量级”的message的场景下,可以在.proto文件中如下增加配置(option optimi...

2018-06-01 14:53:20 9990

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除