From e0603ba18a67c1ef33f60122fe6f00393c0c0203 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Thu, 13 Jul 2017 01:28:06 +0200 Subject: Tweak map-valued decode Use the same [MsgName | Avps] representation as for the list decode, but with Avps a map instead of a AVP name/values list. As a result, don't set the message/AVP name on an additional key in the map, which felt a bit odd. Messages are [MsgName :: atom() | map()], Grouped AVPs are just map(). Fix at least one problem in the traffic suite along the way: with decode_format false, the own decode in to_map/2 didn't know whether or not to decode strings, resulting on some failures. --- lib/diameter/doc/src/diameter.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'lib/diameter/doc/src/diameter.xml') diff --git a/lib/diameter/doc/src/diameter.xml b/lib/diameter/doc/src/diameter.xml index a7f001e096..43cb3a538c 100644 --- a/lib/diameter/doc/src/diameter.xml +++ b/lib/diameter/doc/src/diameter.xml @@ -539,7 +539,7 @@ that matches no peer.

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-, list- or map-valued +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. @@ -802,10 +802,16 @@ be matched by corresponding &capability; configuration, of {decode_format, record | list | map | false}

-The type of decoded messages and grouped AVPs in the msg field +The format of decoded messages and grouped AVPs in the msg field of diameter_packet records and value field of diameter_avp records respectively. -If false then the fields are set this value. +If record then a record whose definition is generated from the +dictionary file in question. +If list or map then a [Name | Avps] pair where +Avps is either a list of AVP name/values pairs or a map keyed on +AVP names respectively. +If false then the representation is omitted and msg and +value fields are set to false. See also &codec_message;.

-- cgit v1.2.3