51 lines
1.0 KiB
Lua
51 lines
1.0 KiB
Lua
local port = require "oil.port"
|
|
local component = require "oil.component"
|
|
local arch = require "oil.arch"
|
|
|
|
module "oil.arch.ludo"
|
|
|
|
-- MARSHALING
|
|
ValueEncoder = component.Template{
|
|
codec = port.Facet,
|
|
}
|
|
|
|
-- REFERENCES
|
|
ObjectReferrer = component.Template{
|
|
references = port.Facet,
|
|
}
|
|
|
|
-- REQUESTER
|
|
OperationRequester = component.Template{
|
|
requests = port.Facet,
|
|
channels = port.Receptacle,
|
|
codec = port.Receptacle,
|
|
}
|
|
|
|
-- LISTENER
|
|
RequestListener = component.Template{
|
|
listener = port.Facet,
|
|
channels = port.Receptacle,
|
|
codec = port.Receptacle,
|
|
}
|
|
|
|
function assemble(components)
|
|
arch.start(components)
|
|
|
|
-- COMMUNICATION
|
|
ClientChannels.sockets = BasicSystem.sockets
|
|
ServerChannels.sockets = BasicSystem.sockets
|
|
|
|
-- REQUESTER
|
|
OperationRequester.codec = ValueEncoder.codec
|
|
OperationRequester.channels = ClientChannels.channels
|
|
|
|
-- LISTENER
|
|
RequestListener.codec = ValueEncoder.codec
|
|
RequestListener.channels = ServerChannels.channels
|
|
|
|
-- MARSHALING
|
|
ValueEncoder.codec:localresources(components)
|
|
|
|
arch.finish(components)
|
|
end
|