27 lines
1.1 KiB
Lua
27 lines
1.1 KiB
Lua
require "oil"
|
|
oil.main(function()
|
|
local orb = oil.init()
|
|
------------------------------------------------------------------------------
|
|
local server = orb:newproxy(assert(oil.readfrom("server.ior")))
|
|
------------------------------------------------------------------------------
|
|
orb:loadidl [[
|
|
module Concurrency {
|
|
interface Proxy {
|
|
boolean request_work_for(in double seconds);
|
|
};
|
|
};
|
|
]]
|
|
------------------------------------------------------------------------------
|
|
local proxy_impl = { server = server }
|
|
function proxy_impl:request_work_for(seconds)
|
|
return server:do_something_for(seconds)
|
|
end
|
|
------------------------------------------------------------------------------
|
|
local proxy = orb:newservant(proxy_impl, nil, "Concurrency::Proxy")
|
|
------------------------------------------------------------------------------
|
|
assert(oil.writeto("proxy.ior", orb:tostring(proxy)))
|
|
------------------------------------------------------------------------------
|
|
orb:run()
|
|
------------------------------------------------------------------------------
|
|
end)
|