diff --git a/service/service_cell.lua b/service/service_cell.lua new file mode 100644 index 00000000..3fa9ebbe --- /dev/null +++ b/service/service_cell.lua @@ -0,0 +1,18 @@ +local skynet = require "skynet" + +local service_name = (...) +local init = {} + +function init.init(code, ...) + skynet.dispatch("lua", function() error("No dispatch function") end) + skynet.start = function(f) f() end + local mainfunc = assert(load(code, service_name)) + mainfunc(...) + skynet.ret() +end + +skynet.start(function() + skynet.dispatch("lua", function(_,_,cmd,...) + init[cmd](...) + end) +end)