From 50b4c459cd99fc2a0dad76741da99d8e1cc1f7f2 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Sat, 6 Oct 2012 19:14:36 +0200 Subject: Clarify diameter_transport doc --- lib/diameter/doc/src/diameter_transport.xml | 42 +++++++++++++++++------------ 1 file changed, 25 insertions(+), 17 deletions(-) (limited to 'lib/diameter') diff --git a/lib/diameter/doc/src/diameter_transport.xml b/lib/diameter/doc/src/diameter_transport.xml index 9ab750e560..d9b36a1e09 100644 --- a/lib/diameter/doc/src/diameter_transport.xml +++ b/lib/diameter/doc/src/diameter_transport.xml @@ -54,14 +54,14 @@ parent).

-Mod:start({Type, Ref}, Svc, Opts) +Mod:start({Type, Ref}, Svc, Config) -> {ok, Pid} | {ok, Pid, LAddrs} | {error, Reason} Start a transport process. Type = connect | accept Ref = diameter:transport_ref() Svc = #diameter_service{} -Opts = term() +Config = term() Pid = pid() LAddrs = [inet:ip_address()] Reason = term() @@ -75,38 +75,46 @@ order to establish or accept a transport connection respectively. A transport process maintains a connection with a single remote peer.

-The first argument indicates whether the transport process in question +Type indicates whether the transport process in question is being started for a connecting (connect) or listening (accept) transport. In the latter case, transport processes are started as required to -accept connections from multiple peers. -Ref is in each case the same value that was returned from the -call to diameter:add_transport/2 -that has lead to starting of a transport process.

+accept connections from multiple peers.

-A transport process must implement the message interface documented below. -It should retain the pid of its parent, monitor the parent and terminate if -it dies. -It should not link to the parent. -It should exit if its transport connection with its peer is lost.

+Ref is the value that was returned from the call to diameter:add_transport/2 +that has lead to starting of a transport process.

-The capabilities in the #diameter_service{} record are as -passed to Svc contains the capabilities passed to diameter:start_service/2 and diameter:add_transport/2, -values passed to the latter overriding those passed to the former. +values passed to the latter overriding those passed to the former.

+ +

+Config is as passed in transport_config tuple in the +diameter:transport_opt() +list passed to diameter:add_transport/2.

+ +

The start function should use the Host-IP-Address list and/or -Opts to select an appropriate list of local IP addresses, +Config to select an appropriate list of local IP addresses, and should return this list if different from the #diameter_service{} addresses. The returned list is used to populate Host-IP-Address AVPs in outgoing capabilities exchange messages, the #diameter_service{} addresses being used otherwise.

+

+A transport process must implement the message interface documented below. +It should retain the pid of its parent, monitor the parent and terminate if +it dies. +It should not link to the parent. +It should exit if its transport connection with its peer is lost.

+
-- cgit v1.2.3