This commit is contained in:
Cloud Wu
2024-06-27 08:31:30 +08:00
parent 41928512f0
commit 64a0ed4bfa

View File

@@ -9,11 +9,10 @@ gate = tonumber(gate)
fd = tonumber(fd) fd = tonumber(fd)
local large_request = {} local large_request = {}
local inquery_name = {}
local register_name_mt = { __index = local register_name_mt = { __index =
function(self, name) function(self, name)
local waitco = inquery_name[name] local waitco = self.__inquery_name[name]
if waitco then if waitco then
local co=coroutine.running() local co=coroutine.running()
table.insert(waitco, co) table.insert(waitco, co)
@@ -21,12 +20,12 @@ local register_name_mt = { __index =
return rawget(self, name) return rawget(self, name)
else else
waitco = {} waitco = {}
inquery_name[name] = waitco self.__inquery_name[name] = waitco
local addr = skynet.call(clusterd, "lua", "queryname", name:sub(2)) -- name must be '@xxxx' local addr = skynet.call(clusterd, "lua", "queryname", name:sub(2)) -- name must be '@xxxx'
if addr then if addr then
self[name] = addr self[name] = addr
end end
inquery_name[name] = nil self.__inquery_name[name] = nil
for _, co in ipairs(waitco) do for _, co in ipairs(waitco) do
skynet.wakeup(co) skynet.wakeup(co)
end end
@@ -36,7 +35,7 @@ local register_name_mt = { __index =
} }
local function new_register_name() local function new_register_name()
return setmetatable({}, register_name_mt) return setmetatable({ __inquery_name = {} }, register_name_mt)
end end
local register_name = new_register_name() local register_name = new_register_name()