Skip to content
This repository has been archived by the owner on Nov 28, 2022. It is now read-only.

encode immediately after decode failed #21

Closed
jacobwpeng opened this issue Nov 7, 2013 · 1 comment
Closed

encode immediately after decode failed #21

jacobwpeng opened this issue Nov 7, 2013 · 1 comment

Comments

@jacobwpeng
Copy link

在message A中包含了另外一个message B
在Deocde A的时候不会立即对B进行解析,需要通过访问B中的内容来获取B的完整解析
现在的应用场景是从数据库中取出pb结构,只更改某一个字段,其它不变,然后需要存回数据库,结果encode不支持这种属于中间状态的结构进行存储
不知道是基于什么样的考虑没有提供这样的一个encode方法?

代码https://gist.github.com/wang2191195/7348669

@cloudwu
Copy link
Owner

cloudwu commented Nov 7, 2013

不考虑这种需求, 如果你需要, 可以额外写一个 lua 库作为补充. 对于 pbc 的 C 部分可以提供你需要的所有的支持.
btw, 你的需求中, 如果只修改一个字段, 不应该对全部做解码然后编码. protobuffer 是可拼接的. 你应该把要修改的字段截断掉, 把新的数据单独编码和旧的数据连接在一起.
另外,我讨厌把 protobuffer 用于做通讯协议之外的场合, 比如做数据持久化.

@cloudwu cloudwu closed this as completed Nov 7, 2013
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants