|
|
|
|
@ -352,14 +352,19 @@ function BaseControl:call(verb, ...)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function BaseControl:call_sync(verb, ...)
|
|
|
|
|
function BaseControl:call_sync(timeout, verb, ...)
|
|
|
|
|
local param = {...}
|
|
|
|
|
if type(timeout) ~= "number" then
|
|
|
|
|
table.insert(param, 1, verb)
|
|
|
|
|
timeout, verb = nil, timeout
|
|
|
|
|
end
|
|
|
|
|
if self.local_verbs[verb] ~= nil then
|
|
|
|
|
return self.local_verbs[verb](...)
|
|
|
|
|
return self.local_verbs[verb](table.unpack(param))
|
|
|
|
|
elseif self.remote_verbs[verb] ~= nil then
|
|
|
|
|
self.network:send(self.remote_verbs[verb], {
|
|
|
|
|
ty=Message.VerbRequest,
|
|
|
|
|
verb=verb,
|
|
|
|
|
param={...},
|
|
|
|
|
param=param,
|
|
|
|
|
sync=true,
|
|
|
|
|
})
|
|
|
|
|
local answer = self.network:pull(function(remote, msg)
|
|
|
|
|
|