Implement the UBF(C) meta-protocol for UBF(B) "stateless" contracts.
The metaprotocol is used at the beginning of a UBF session to
select one of the UBF(B) contracts that the TCP listener is
capable of offering. The list of contracts (or more precisely,
the Erlang modules that implement the contract(s)) is passed via
the ubf_server:start_link() function, in the PluginModule
list.
Code in this module is executed by the "Plugin Handler" process in the Process Structure Diagram in the Overview.
For the purposes of this module, the list of modules that implement contracts is passed using Erlang parameterized moduleModule:new(ModuleList) syntax. See the Erlang/OTP documentation
for more information on parameterized module syntax and usage.
For code examples, look in the
"../src/Unit-Test-Files"
directory for several examples (see files with "_plugin.erl" suffix).
| description/0 | Emit a description string. |
| handlerRpc/1 | Required UBF contract implementation callback: call an RPC function. |
| handlerStart/1 | Required UBF contract implementation callback: start a new session handler process. |
| handlerStop/3 | Required UBF contract implementation callback: stop a session handler process. |
| info/0 | Emit an info string. |
| managerRestart/2 | Required UBF contract implementation callback: restart a manager process. |
| managerRpc/2 | Required UBF contract implementation callback: call a manager's RPC function. |
| managerStart/1 | Required UBF contract implementation callback: start manager process(es). |
description() -> any()
Emit a description string.
handlerRpc(RpcCall::term()) -> Reply::term() | {changeContract, Reply::term(), HandlerMod::atom(), State1::term(), Data1::term()}
Required UBF contract implementation callback: call an RPC function.
handlerStart(Arg_From_UBF_Client::term()) -> {accept, Reply::term(), StateName::atom(), StateData::term()} | {reject, Reply::term()}
Required UBF contract implementation callback: start a new session handler process.
handlerStop(Pid::pid(), Reason::term(), StateData::term()) -> void()
Required UBF contract implementation callback: stop a session handler process.
info() -> any()
Emit an info string.
managerRestart(Args::term(), Manager::pid()) -> ok | {error, Reason::term()}
Required UBF contract implementation callback: restart a manager process.
managerRpc(Args::term(), Manager::pid()) -> ok | {error, Reason::term()}
Required UBF contract implementation callback: call a manager's RPC function.
managerStart(Args::term()) -> {ok, State::term()}
Required UBF contract implementation callback: start manager process(es).
Generated EDoc, $Id$