mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 20:23:06 +00:00
clusterd support send
This commit is contained in:
@@ -8,6 +8,11 @@ function cluster.call(node, address, ...)
|
|||||||
return skynet.call(clusterd, "lua", "req", node, address, skynet.pack(...))
|
return skynet.call(clusterd, "lua", "req", node, address, skynet.pack(...))
|
||||||
end
|
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)
|
function cluster.open(port)
|
||||||
if type(port) == "string" then
|
if type(port) == "string" then
|
||||||
skynet.call(clusterd, "lua", "listen", port)
|
skynet.call(clusterd, "lua", "listen", port)
|
||||||
|
|||||||
@@ -161,6 +161,9 @@ function suspend(co, result, command, param, size)
|
|||||||
sleep_session[co] = param
|
sleep_session[co] = param
|
||||||
elseif command == "RETURN" then
|
elseif command == "RETURN" then
|
||||||
local co_session = session_coroutine_id[co]
|
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]
|
local co_address = session_coroutine_address[co]
|
||||||
if param == nil or session_response[co] then
|
if param == nil or session_response[co] then
|
||||||
error(debug.traceback(co))
|
error(debug.traceback(co))
|
||||||
|
|||||||
Reference in New Issue
Block a user