diff options
author | Anders Svensson <[email protected]> | 2015-03-21 19:10:19 +0100 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2015-03-24 10:57:03 +0100 |
commit | 949cec3fdcf94310aa567921ac2ea37569beb970 (patch) | |
tree | 616dc008095a53094f8d5c56c9eab694a7915289 /lib/diameter/examples/code/server.erl | |
parent | d6de8b13a37bc454f6d5a425cdaff6a114b4168c (diff) | |
download | otp-949cec3fdcf94310aa567921ac2ea37569beb970.tar.gz otp-949cec3fdcf94310aa567921ac2ea37569beb970.tar.bz2 otp-949cec3fdcf94310aa567921ac2ea37569beb970.zip |
Let examples override default service options
To make them a bit more flexible. Can now do things like this:
server:start([{'Product-Name', "Bob"}]),
server:listen({tcp, [{capx_timeout, 2000}]})
Beware that the latter is completely different from this:
server:listen(tcp, [{capx_timeout, 2000}])
Diffstat (limited to 'lib/diameter/examples/code/server.erl')
-rw-r--r-- | lib/diameter/examples/code/server.erl | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/diameter/examples/code/server.erl b/lib/diameter/examples/code/server.erl index b292c7afdb..f32cec594c 100644 --- a/lib/diameter/examples/code/server.erl +++ b/lib/diameter/examples/code/server.erl @@ -35,6 +35,7 @@ -module(server). -export([start/1, %% start a service + start/2, %% listen/2, %% add a listening transport stop/1]). %% stop a service @@ -63,11 +64,23 @@ start(Name) when is_atom(Name) -> - node:start(Name, ?SERVICE(Name)). + start(Name, []); + +start(Opts) + when is_list(Opts) -> + start(?DEF_SVC_NAME, Opts). + +%% start/0 start() -> start(?DEF_SVC_NAME). +%% start/2 + +start(Name, Opts) -> + node:start(Name, Opts ++ [T || {K,_} = T <- ?SERVICE(Name), + false == lists:keymember(K, 1, Opts)]). + %% listen/2 listen(Name, T) -> |