From 771ac5f65170696192a5e8e0c6daa2595dc2f952 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Mon, 2 Dec 2013 17:48:01 +0100 Subject: Assorted doc fixes/tweaks --- lib/diameter/doc/src/diameter.xml | 150 +++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 75 deletions(-) (limited to 'lib/diameter/doc/src') diff --git a/lib/diameter/doc/src/diameter.xml b/lib/diameter/doc/src/diameter.xml index 726343abb2..9864b21bc5 100644 --- a/lib/diameter/doc/src/diameter.xml +++ b/lib/diameter/doc/src/diameter.xml @@ -130,7 +130,7 @@ ExtraArgs = list()

A module implementing the callback interface defined in &man_app;, along with any -extra arguments to be appended to those documented for the interface. +extra arguments to be appended to those documented. Note that extra arguments specific to an outgoing request can be specified to &call;, in which case those are are appended to any module-specific extra arguments.

@@ -138,7 +138,7 @@ those are are appended to any module-specific extra arguments.

Specifying a #diameter_callback{} record allows individual functions to be configured in place of the usual &man_app; callbacks. -See that module for details.

+See diameter_callback.erl for details.

@@ -155,7 +155,7 @@ Has one the following types.

{alias, &application_alias;}

-An unique identifier for the application in the scope of the +A unique identifier for the application in the scope of the service. Defaults to the value of the dictionary option if unspecified.

@@ -166,8 +166,8 @@ unspecified.

The name of an encode/decode module for the Diameter messages defined by the application. -These modules are generated from a specification file whose format is -documented in &man_dict;.

+These modules are generated from files whose format is documented in +&man_dict;.

{module, &application_module;} @@ -195,15 +195,14 @@ Specifies whether or not the &app_pick_peer; application callback can modify the application state. Defaults to false if unspecified.

- +

-&app_pick_peer; callbacks -are serialized when these are allowed to modify state, which is a -potential performance bottleneck. +&app_pick_peer; callbacks are serialized when this option is true, +which is a potential performance bottleneck. A simple Diameter client may suffer no ill effects from using mutable state but a server or agent that responds to incoming request should probably avoid it.

-
+ {answer_errors, callback|report|discard} @@ -234,7 +233,7 @@ Defaults to report if unspecified.

Determines the manner in which incoming requests are handled when an -error other than 3007, DIAMETER_APPLICATION_UNSUPPORTED (which cannot +error other than 3007 (DIAMETER_APPLICATION_UNSUPPORTED, which cannot be associated with an application callback module), is detected.

@@ -244,7 +243,8 @@ If answer then even 5xxx errors are answered without a callback unless the connection in question has configured the RFC 3588 common dictionary as noted below. If callback then a &app_handle_request; callback always takes -place and the return value determines the answer sent to the peer.

+place and its return value determines the answer sent to the peer, if +any.

Defaults to answer_3xxx if unspecified.

@@ -252,13 +252,14 @@ Defaults to answer_3xxx if unspecified.

Answers sent by diameter set the E-bit in the Diameter Header. -Since RFC 3588 allowed only 3xxx result codes in an +Since RFC 3588 allows only 3xxx result codes in an answer-message, answer has the same semantics as -answer_3xxx if the peer connection in question has configured -the RFC 3588 common dictionary, diameter_gen_base_rfc3588. -RFC 6733 allows both 3xxx and 5xxx result codes in an -answer-message so a connection configured with the RFC 6733 -common dictionary, diameter_gen_base_rfc6733, does +answer_3xxx when the transport in question has +been configured with diameter_gen_base_rfc3588 as its common +dictionary. +Since RFC 6733 allows both 3xxx and 5xxx result codes in an +answer-message, a transport with +diameter_gen_base_rfc6733 as its common dictionary does distinguish between answer_3xxx and answer.

@@ -291,9 +292,8 @@ Multiple options append to the argument list.

{filter, &peer_filter;}

-A filter to apply to the list of available peers before passing them to -the &app_pick_peer; -callback for the application in question. +A filter to apply to the list of available peers before passing it to +the &app_pick_peer; callback for the application in question. Multiple options are equivalent a single all filter on the corresponding list of filters. Defaults to none.

@@ -312,7 +312,7 @@ Defaults to 5000.

Causes &call; to return ok as soon as the request in -question has been encoded instead of waiting for and returning +question has been encoded, instead of waiting for and returning the result from a subsequent &app_handle_answer; or &app_handle_error; callback.

@@ -331,8 +331,8 @@ An invalid option will cause &call; to fail.

AVP values sent in outgoing CER or CEA messages during capabilities exchange. -Can be configured both on a service and a transport, values specified -on the latter taking precedence over any specified on the former. +Can be configured both on a service and a transport, values +on the latter taking precedence. Has one of the following types.

@@ -358,7 +358,7 @@ question communicates an address list as described in Origin-State-Id is optional but will be included in outgoing messages sent by diameter itself: CER/CEA, DWR/DWA and DPR/DPA. Setting a value of 0 (zero) is equivalent to not setting a -value as documented in &the_rfc;. +value, as documented in &the_rfc;. The function &origin_state_id; can be used as to retrieve a value that is computed when the diameter application is started.

@@ -370,8 +370,8 @@ application is started.

Inband-Security-Id defaults to the empty list, which is equivalent to a -list containing only 0 (= NO_INBAND_SECURITY). -If 1 (= TLS) is specified then TLS is selected if the CER/CEA received +list containing only 0 (NO_INBAND_SECURITY). +If 1 (TLS) is specified then TLS is selected if the CER/CEA received from the peer offers it.

@@ -437,38 +437,38 @@ Has one of the following types.

Matches any peer. This is a convenience that provides a filter equivalent to no -filter at all.

+filter.

host

-Matches only those peers whose Origin-Host has the same value -as Destination-Host in the outgoing request in question, +Matches only those peers whose Origin-Host has the same value +as Destination-Host in the outgoing request in question, or any peer if the request does not contain -a Destination-Host AVP.

+a Destination-Host AVP.

realm

-Matches only those peers whose Origin-Realm has the same value -as Destination-Realm in the outgoing request in question, +Matches only those peers whose Origin-Realm has the same value +as Destination-Realm in the outgoing request in question, or any peer if the request does not contain -a Destination-Realm AVP.

+a Destination-Realm AVP.

{host, any|&dict_DiameterIdentity;}

-Matches only those peers whose Origin-Host has the +Matches only those peers whose Origin-Host has the specified value, or all peers if the atom any.

{realm, any|&dict_DiameterIdentity;

-Matches only those peers whose Origin-Realm has the +Matches only those peers whose Origin-Realm has the specified value, or all peers if the atom any.

@@ -477,7 +477,8 @@ specified value, or all peers if the atom any.

Matches only those peers for which the specified &evaluable; returns -true on the connection's diameter_caps record. +true when applied to the connection's diameter_caps +record. Any other return value or exception is equivalent to false.

@@ -508,10 +509,10 @@ that matches no peer.

-The host and realm filters examine the -outgoing request as passed to &call;, -assuming that this is a record- or list-valued &codec_message;, -and that the message contains at most one of each AVP. +The host and realm filters cause the Destination-Host +and Destination-Realm AVPs to be extracted from the +outgoing request, assuming it to be a record- or list-valued +&codec_message;, and assuming at most one of each AVP. If this is not the case then the {host|realm, &dict_DiameterIdentity;} filters must be used to achieve the desired result. An empty &dict_DiameterIdentity; @@ -555,7 +556,7 @@ Can have one of the following types.

The service is being started or stopped. No event precedes a start event. -No event follows a stop event and this event +No event follows a stop event, and this event implies the termination of all transport processes.

@@ -576,9 +577,8 @@ transitioned into (up) or out of (down) the OKAY state. If a #diameter_packet{} is present in an up event then there has been a capabilities exchange on a newly established -transport connection and the record contains the received CER or CEA. -Otherwise a connection has reestablished without the loss or -connectivity.

+transport connection and the record contains the received CER or +CEA.

Note that a single up or down event for a given peer @@ -627,10 +627,10 @@ CB = &evaluable;

-An incoming CER has been answered with the indicated result code or +An incoming CER has been answered with the indicated result code, or discarded. -Caps contains pairs of values for the local node and remote -peer. +Caps contains pairs of values, for the local node and remote +peer respectively. Pkt contains the CER in question. In the case of rejection by a capabilities callback, the tuple contains the rejecting callback.

@@ -647,7 +647,7 @@ Pkt = #diameter_packet{}

An incoming CER contained errors and has been answered with the indicated result code. -Caps contains only values for the local node. +Caps contains values for the local node only. Pkt contains the CER in question.

@@ -754,7 +754,7 @@ Defines a Diameter application supported by the service.

A service must configure one tuple for each Diameter application it intends to support. -For an outgoing Diameter request, the relevant &application_alias; is +For an outgoing request, the relevant &application_alias; is passed to &call;, while for an incoming request the application identifier in the message header determines the application, the identifier being specified in @@ -778,10 +778,11 @@ be matched by corresponding &capability; configuration, of

Specifies the degree to which the service allows multiple transport -connections to the same peer.

+connections to the same peer, as identified by its Origin-Host +at capabilities exchange.

-If type [node()] then a connection is rejected if another already +If [node()] then a connection is rejected if another already exists on any of the specified nodes. Types false, node, nodes and &evaluable; are equivalent to @@ -803,7 +804,7 @@ Defaults to nodes.

Specifies a constant value H for the topmost 32-N bits of -of 32-bit End-to-End and Hop-by-Hop identifiers generated +of 32-bit End-to-End and Hop-by-Hop Identifiers generated by the service, either explicitly or as a return value of a function to be evaluated at &start_service;. In particular, an identifier Id is mapped to a new identifier @@ -812,11 +813,11 @@ as follows.

(H bsl N) bor (Id band ((1 bsl N) - 1))

-Note that &the_rfc; requires that End-to-End identifiers remain unique +Note that &the_rfc; requires that End-to-End Identifiers remain unique for a period of at least 4 minutes and that this and the call rate -places a lower bound on the appropriate values of N: -at a rate of R requests per second an N-bit counter -traverses all of its values in (1 bsl N) div (R*60) minutes so +places a lower bound on appropriate values of N: +at a rate of R requests per second, an N-bit counter +traverses all of its values in (1 bsl N) div (R*60) minutes, so the bound is 4*R*60 =< 1 bsl N.

N must lie in the range 0..32 and H must be a @@ -829,7 +830,7 @@ Defaults to {0,32}.

Multiple Erlang nodes implementing the same Diameter node should be configured with different sequence masks to ensure that each node -uses a unique range of End-to-End and Hop-by-Hop identifiers for +uses a unique range of End-to-End and Hop-by-Hop Identifiers for outgoing requests.

@@ -852,7 +853,7 @@ by the specified function, evaluated whenever a peer connection becomes available or a remote service requests information about local connections. The value true is equivalent to fun &nodes;. -The value node() in a node list is ignored, so a collection of +The value node() in a list is ignored, so a collection of services can all be configured to share with the same list of nodes.

@@ -899,7 +900,7 @@ If evaluable() then only peers returned by the specified function are used, evaluated whenever a remote service communicates information about an available peer connection. The value true is equivalent to fun &nodes;. -The value node() in a node list is ignored.

+The value node() in a list is ignored.

Defaults to false.

@@ -1021,8 +1022,8 @@ case the corresponding callbacks are applied until either all return The number of milliseconds after which a transport process having an established transport connection will be terminated if the expected capabilities exchange message (CER or CEA) is not received from the peer. -For a connecting transport, the timing of reconnection attempts is -governed by &watchdog_timer; or &connect_timer; expiry. +For a connecting transport, the timing of connection attempts is +governed by &connect_timer; or &watchdog_timer; expiry. For a listening transport, the peer determines the timing.

@@ -1038,16 +1039,17 @@ Tc = &dict_Unsigned32;

For a connecting transport, the &the_rfc; Tc timer, in milliseconds. -Note that this timer determines the frequency with which a transport -will attempt to establish an initial connection with its peer -following transport configuration: once an initial connection has been -established it's &watchdog_timer; that determines the frequency of +This timer determines the frequency with which a transport +attempts to establish an initial connection with its peer +following transport configuration. +Once an initial connection has been +established, &watchdog_timer; determines the frequency of reconnection attempts, as required by RFC 3539.

For a listening transport, the timer specifies the time after which a previously connected peer will be forgotten: a connection after this time is -regarded as an initial connection rather than a reestablishment, +regarded as an initial connection rather than reestablishment, causing the RFC 3539 state machine to pass to state OKAY rather than REOPEN. Note that these semantics are not governed by the RFC and @@ -1066,14 +1068,12 @@ transport.

A callback invoked prior to terminating the transport process of a transport connection having watchdog state OKAY. -Applied to Reason=transport|service|application and the -&transport_ref; and -&app_peer; -in question, Reason indicating whether the diameter -application is being stopped, the service in question is being stopped -at &stop_service; or -the transport in question is being removed at &remove_transport;, -respectively.

+Applied to application|service|transport and the +&transport_ref; and &app_peer; in question: +application indicates that the diameter application is +being stopped, service that the service in question is being +stopped by &stop_service;, and transport that the transport in +question is being removed by &remove_transport;.

The return value can have one of the following types.

-- cgit v1.2.3