|
|
|
|
@ -185,19 +185,19 @@ function BaseControl:get(noun, timeout)
|
|
|
|
|
ty=Message.NounRequest,
|
|
|
|
|
noun=noun,
|
|
|
|
|
})
|
|
|
|
|
local answer, err = self.network:pull(function(remote, msg)
|
|
|
|
|
local answer = self.network:pull(function(remote, msg)
|
|
|
|
|
if remote ~= self.remote_nouns[noun] then return false end
|
|
|
|
|
if msg.ty ~= Message.NounResponse then return false end
|
|
|
|
|
if msg.noun ~= noun then return false end
|
|
|
|
|
return true
|
|
|
|
|
end, timeout)
|
|
|
|
|
if answer == nil then
|
|
|
|
|
return nil, err
|
|
|
|
|
else
|
|
|
|
|
if answer ~= nil then
|
|
|
|
|
return answer.value
|
|
|
|
|
else
|
|
|
|
|
error("timeout")
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
return nil, "noun \""..noun.."\" unknown"
|
|
|
|
|
return error("unknown")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@ -247,8 +247,6 @@ function BaseControl:call(verb, ...)
|
|
|
|
|
verb=verb,
|
|
|
|
|
param={...},
|
|
|
|
|
})
|
|
|
|
|
else
|
|
|
|
|
error("unknown verb")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@ -262,7 +260,7 @@ function BaseControl:call_sync(verb, ...)
|
|
|
|
|
param={...},
|
|
|
|
|
sync=true,
|
|
|
|
|
})
|
|
|
|
|
local answer, err = self.network:pull(function(remote, msg)
|
|
|
|
|
local answer = self.network:pull(function(remote, msg)
|
|
|
|
|
if remote ~= self.remote_verbs[verb] then return false end
|
|
|
|
|
if msg.ty ~= Message.VerbResponse then return false end
|
|
|
|
|
if msg.verb ~= verb then return false end
|
|
|
|
|
@ -271,10 +269,10 @@ function BaseControl:call_sync(verb, ...)
|
|
|
|
|
if answer ~= nil then
|
|
|
|
|
return table.unpack(answer.ret)
|
|
|
|
|
else
|
|
|
|
|
return nil, err
|
|
|
|
|
error("timeout")
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
error("unknown verb")
|
|
|
|
|
error("unknown")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
-- }}}
|
|
|
|
|
|