aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2017-08-24 13:21:28 +0200
committerAnders Svensson <[email protected]>2017-08-25 13:08:41 +0200
commitb0582c6963f6dc203f05ed810c9446cf3fa0f0ae (patch)
tree2354fec110db3abec115cbdace974c08e499e741 /lib/diameter/src
parent5f3becaddef9b18c81a1ec8bd7bf955384c1a225 (diff)
downloadotp-b0582c6963f6dc203f05ed810c9446cf3fa0f0ae.tar.gz
otp-b0582c6963f6dc203f05ed810c9446cf3fa0f0ae.tar.bz2
otp-b0582c6963f6dc203f05ed810c9446cf3fa0f0ae.zip
Let strict_mbit and incoming_maxlen be configured per transport
Since these can make sense per peer. The remaining service-only options either belong there or make little sense being configured per transport.
Diffstat (limited to 'lib/diameter/src')
-rw-r--r--lib/diameter/src/base/diameter.erl4
-rw-r--r--lib/diameter/src/base/diameter_config.erl12
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/diameter/src/base/diameter.erl b/lib/diameter/src/base/diameter.erl
index 0f919f6c25..3b41feac0d 100644
--- a/lib/diameter/src/base/diameter.erl
+++ b/lib/diameter/src/base/diameter.erl
@@ -355,9 +355,11 @@ call(SvcName, App, Message) ->
| {capabilities_cb, eval()}
| {capx_timeout, 'Unsigned32'()}
| {strict_capx, boolean()}
+ | {strict_mbit, boolean()}
| {disconnect_cb, eval()}
| {dpr_timeout, 'Unsigned32'()}
| {dpa_timeout, 'Unsigned32'()}
+ | {incoming_maxlen, message_length()}
| {length_errors, exit | handle | discard}
| {connect_timer, 'Unsigned32'()}
| {watchdog_timer, 'Unsigned32'() | {module(), atom(), list()}}
@@ -376,8 +378,6 @@ call(SvcName, App, Message) ->
| {traffic_counters, boolean()}
| {string_decode, boolean()}
| {strict_arities, true | strict_arities()}
- | {strict_mbit, boolean()}
- | {incoming_maxlen, message_length()}
| {use_shared_peers, remotes()}
| common_opt().
diff --git a/lib/diameter/src/base/diameter_config.erl b/lib/diameter/src/base/diameter_config.erl
index a4496f9725..4721be1ca0 100644
--- a/lib/diameter/src/base/diameter_config.erl
+++ b/lib/diameter/src/base/diameter_config.erl
@@ -575,13 +575,11 @@ setopt(K, T) ->
%% opt/2
-opt(service, {incoming_maxlen, N})
- when 0 =< N, N < 1 bsl 24 ->
- true;
+opt(_, {incoming_maxlen, N}) ->
+ is_integer(N) andalso 0 =< N andalso N < 1 bsl 24;
opt(service, {K, B})
- when K == strict_mbit;
- K == string_decode;
+ when K == string_decode;
K == traffic_counters ->
is_boolean(B);
@@ -680,7 +678,9 @@ opt(_, {K, Tmo})
opt(_, {capx_strictness, B}) ->
is_boolean(B) andalso {value, {strict_capx, B}};
-opt(_, {strict_capx, B}) ->
+opt(_, {K, B})
+ when K == strict_capx;
+ K == strict_mbit ->
is_boolean(B);
opt(_, {length_errors, T}) ->