dynamicgo icon indicating copy to clipboard operation
dynamicgo copied to clipboard

protobuf 增加从byte数组中读取指定数量field的函数

Open someview opened this issue 1 year ago • 3 comments

protobuf的编解码属于属于位置不可移动类型. 如果能确定编码的时候,某几个字段在生成的字节数组,那么,对于转发或者代理之类的网关,就可以不需要解码整个消息,之需要解码前面几个字段。

生成器生成protobuf代码的时候, 固定写入字段的顺序(编码),这是可以固定的。另外一个是, 在需要代理转发的地方,根据二进制直接读取前面需要的字段. 目前,dynamicgo中有comsumefixed64这样的方法可以读取用一个字段,是否可以增加,连续读取几个字段的方法呢

someview avatar Mar 26 '24 06:03 someview

这个操作过于耦合业务逻辑,不太适合作为通用api。可以基于"github.com/cloudwego/dynamicgo/proto/binary"自己实现一个?

AsterDY avatar Mar 26 '24 09:03 AsterDY

这个操作过于耦合业务逻辑,不太适合作为通用api。可以基于"github.com/cloudwego/dynamicgo/proto/binary"自己实现一个? 也不算耦合啊,binary都有从一个字节数组中解析一个字段的方法了,比如fixed64,那为啥不能有连续解析几个字段的办法呢

someview avatar Apr 03 '24 09:04 someview

欢迎提pr

AsterDY avatar Apr 05 '24 03:04 AsterDY

ok, 业务里面可能有这样的需求。抽个时间搞一个

someview avatar Jun 11 '24 09:06 someview