mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 03:53:09 +00:00
share sproto C struct
This commit is contained in:
@@ -8,16 +8,19 @@ function loader.register(filename, index)
|
||||
local f = assert(io.open(filename), "Can't open sproto file")
|
||||
local data = f:read "a"
|
||||
f:close()
|
||||
local bin = parser.parse(data)
|
||||
core.saveproto(bin, index)
|
||||
local sp = core.newproto(parser.parse(data))
|
||||
core.saveproto(sp, index)
|
||||
end
|
||||
|
||||
loader.save = core.saveproto
|
||||
function loader.save(bin, index)
|
||||
local sp = core.newproto(bin)
|
||||
core.saveproto(sp, index)
|
||||
end
|
||||
|
||||
function loader.load(index)
|
||||
local bin, sz = core.loadproto(index)
|
||||
local sp = core.loadproto(index)
|
||||
-- no __gc in metatable
|
||||
return sproto.new(bin,sz, true)
|
||||
return sproto.sharenew(sp)
|
||||
end
|
||||
|
||||
return loader
|
||||
|
||||
Reference in New Issue
Block a user