clusterd support send

This commit is contained in:
Cloud Wu
2016-12-02 20:39:49 +08:00
parent d0a41eb494
commit ace41d7c22
2 changed files with 8 additions and 0 deletions

View File

@@ -8,6 +8,11 @@ function cluster.call(node, address, ...)
return skynet.call(clusterd, "lua", "req", node, address, skynet.pack(...))
end
function cluster.send(node, address, ...)
-- skynet.pack(...) will free by cluster.core.packrequest
skynet.send(clusterd, "lua", "req", node, address, skynet.pack(...))
end
function cluster.open(port)
if type(port) == "string" then
skynet.call(clusterd, "lua", "listen", port)

View File

@@ -161,6 +161,9 @@ function suspend(co, result, command, param, size)
sleep_session[co] = param
elseif command == "RETURN" then
local co_session = session_coroutine_id[co]
if co_session == 0 then
return suspend(co, coroutine_resume(co, false)) -- send don't need ret
end
local co_address = session_coroutine_address[co]
if param == nil or session_response[co] then
error(debug.traceback(co))