Closed wendal closed 3 years ago
为什么要改造上述方法:
例如改成encodeUTF8
先把LuatOS的代码库fork到自己的账号下, 并clone到本地进行修改
修改 mqtt.lua
local encodeUTF8 = mqttcore.encodeUTF8 -- 做个引用
--[[
-- 把原有的方法注释掉
local function encodeUTF8(s)
if not s or #s == 0 then
return ""
else
return pack.pack(">P", s)
end
end
]]
修改 luat_lib_mqttcore.c
static int l_luat_mqttcore_encodeUTF8(lua_State *L) {
// 实现逻辑
}
// 在reg_mqttcore注册表添加引用
{ "encodeUTF8",l_mqttcore_encodeUTF8,0},
接下来,就是提交代码, 创建pull request, 请查阅git和github的文档
已重写为mqtt2.lua, 内存占用减少一半以上
这个任务的主要工作是将 mqtt.lua 中的部分逻辑, 使用C语言实现到luat_lib_mqttcore.c
欢迎领取上述小任务, 领取后请在1周内完成. 以上任务没有依存关系, 均可独立提交成果. 推荐使用pull request方式提交.
提交pr后, 请签署 CLA , 仅第一次提交时需要签署.