Module ubf_server

UBF server-side public API.

Description

UBF server-side public API.

TO-DO: JoeNorton, ubf_server:start([file_plugin], 2000, [jsf]) will give a JSON-speaking server that has a lot of difficulty decoding and encoding stuff. Do you have any plan to fix it?

This module implements most of the commonly-used server-side functions: starting TCP listeners and registering their implementation callback modules.

We implement three different wire formats for accessing the same implementation of a UBF(B) protocol-checking server:

There is no "stop" function. To stop the server, instead stop the TCP service manager that controls it: see the proc_socket_server module for extra details.

See the documentation for the file_plugin module for extra commentary on writing an UBF server implementation module.

Function Index

init/5
start/2Start a server and a TCP listener on port Port and register all of the protocol implementation modules in the Plugins list.
start/3Start a registered server and a TCP listener on port Port and register all of the protocol implementation modules in the Plugins list.
start/4Start a registered server and a TCP listener on port Port with the Options properties list and register all of the protocol implementation modules in the Plugins list.
start_link/2See start/2, but also link the server processs to the caller.
start_link/3See start/3, but also link the server processs to the caller.
start_link/4See start/4, but also link the server processs to the caller.
start_term_listener/3

Function Details

init/5

init(Name, Parent, Plugins, Port, Options) -> any()

start/2

start(Plugins::list(atom()), Port::integer()) -> true

Start a server and a TCP listener on port Port and register all of the protocol implementation modules in the Plugins list.

Here we start the server.

start/3

start(Name::atom(), Plugins::list(atom()), Port::integer()) -> true

Start a registered server and a TCP listener on port Port and register all of the protocol implementation modules in the Plugins list. If Name is undefined, the server is not registered.

Here we start the server.

start/4

start(Name::atom(), Plugins::list(atom()), Port::integer(), Options::proplist()) -> true

Start a registered server and a TCP listener on port Port with the Options properties list and register all of the protocol implementation modules in the Plugins list. If Name is undefined, the server is not registered

Valid properties in the Options proplist are:

start_link/2

start_link(Plugins::list(atom()), Port::integer()) -> true

See start/2, but also link the server processs to the caller.

start_link/3

start_link(Name::atom(), Plugins::list(atom()), Port::integer()) -> true

See start/3, but also link the server processs to the caller.

start_link/4

start_link(Name::atom(), Plugins::list(atom()), Port::integer(), Options::proplist()) -> true

See start/4, but also link the server processs to the caller.

start_term_listener/3

start_term_listener(Server0, Plugins, Options) -> any()


Generated EDoc, $Id$