aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src/base/diameter_watchdog.erl
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2017-07-13 01:09:57 +0200
committerAnders Svensson <[email protected]>2017-08-03 17:16:34 +0200
commit66bb5251e89487c5fb8c1f10b8ceb2c6c8f31eed (patch)
treef491e3ebbb78135006ccacad3ccaff13719206aa /lib/diameter/src/base/diameter_watchdog.erl
parentdf5814ace0461c37389d96e87ef8aae297802b2e (diff)
downloadotp-66bb5251e89487c5fb8c1f10b8ceb2c6c8f31eed.tar.gz
otp-66bb5251e89487c5fb8c1f10b8ceb2c6c8f31eed.tar.bz2
otp-66bb5251e89487c5fb8c1f10b8ceb2c6c8f31eed.zip
Add service_opt() strict_arities
To be able to disable the relatively expensive check that the number of AVPs received in a message or grouped AVP agrees with the dictionary in question. The may well be easier for the user in handle_request/answer callbacks, when digesting the received message, and in some cases may not be important. The check at encode can also be disabled, allowing messages that don't agree with the dictionary in question to be sent, which can be useful in test (at least).
Diffstat (limited to 'lib/diameter/src/base/diameter_watchdog.erl')
-rw-r--r--lib/diameter/src/base/diameter_watchdog.erl9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/diameter/src/base/diameter_watchdog.erl b/lib/diameter/src/base/diameter_watchdog.erl
index 60baf1e8a4..294325751e 100644
--- a/lib/diameter/src/base/diameter_watchdog.erl
+++ b/lib/diameter/src/base/diameter_watchdog.erl
@@ -74,6 +74,7 @@
okay := non_neg_integer()}, %% REOPEN -> OKAY
codec :: #{decode_format := false,
string_decode := false,
+ strict_arities => diameter:strict_arities(),
strict_mbit := boolean(),
failed_avp := false,
rfc := 3588 | 6733,
@@ -138,6 +139,7 @@ i({Ack, T, Pid, {Opts,
Nodes = restrict_nodes(Restrict),
CodecKeys = [decode_format,
string_decode,
+ strict_arities,
strict_mbit,
incoming_maxlen,
spawn_opt,
@@ -157,9 +159,10 @@ i({Ack, T, Pid, {Opts,
suspect => 1,
okay => 3},
Opts)),
- codec = maps:with(CodecKeys, SvcOpts#{decode_format := false,
- string_decode := false,
- ordered_encode => false})}.
+ codec = maps:with(CodecKeys -- [strict_arities],
+ SvcOpts#{decode_format := false,
+ string_decode := false,
+ ordered_encode => false})}.
wait(Ref, Pid) ->
receive