Lua差分系统

。_饼干妹妹 提交于 2020-08-10 00:22:02

https://gitee.com/liyonghelpme_admin/LuaDiff

Lua差分系统设计

1:通过Protobuf 的 optional 方式,来序列化和反序列化差分数据

2:通过Lua自身的Metatable 来支持 标记数据变动 实现差分数据

3:每帧同步 差分序列化后的 PB数据

4:当初次同步的时候,同步完整的PB序列化数据

实现:

delta.proto 实现pb 协议

pb.c 为 protobuf 的c部分实现

Buffer.lua protobuf的lua部分实现

GenLuaPB.py 将protobuf生成对应的 lua序列化 反序列化代码

DeltaStateTable.lua 实现lua层的差分 结构

API:

PB的序列化 反序列化

Lib.GetSerialize(data, 协议)

Lib.DeSerialize(data, 协议)

获取非嵌套 差分数据

Lib:GetDelta(tb)

获取嵌套差分数据

Lib:GetDeltaDeep(tb)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!