aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/dtls_packet_demux.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-12-24 16:20:18 +0100
committerLoïc Hoguin <[email protected]>2019-02-19 09:59:49 +0100
commit09276f8cbe1b62ea0c1c44c5d6eb605fd49dd80a (patch)
tree753c02566e80c33147fbe66d4a88923362dbb47d /lib/ssl/src/dtls_packet_demux.erl
parent579cc8e2b4ed9283c9c9422b928bbaa6996ff884 (diff)
downloadotp-09276f8cbe1b62ea0c1c44c5d6eb605fd49dd80a.tar.gz
otp-09276f8cbe1b62ea0c1c44c5d6eb605fd49dd80a.tar.bz2
otp-09276f8cbe1b62ea0c1c44c5d6eb605fd49dd80a.zip
ssl: Add support for {active,N}
Diffstat (limited to 'lib/ssl/src/dtls_packet_demux.erl')
-rw-r--r--lib/ssl/src/dtls_packet_demux.erl12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/ssl/src/dtls_packet_demux.erl b/lib/ssl/src/dtls_packet_demux.erl
index dccc22a448..4945ef3c10 100644
--- a/lib/ssl/src/dtls_packet_demux.erl
+++ b/lib/ssl/src/dtls_packet_demux.erl
@@ -297,6 +297,18 @@ do_set_emulated_opts([], Opts) ->
Opts;
do_set_emulated_opts([{mode, Value} | Rest], Opts) ->
do_set_emulated_opts(Rest, Opts#socket_options{mode = Value});
+do_set_emulated_opts([{active, N0} | Rest], Opts=#socket_options{active = Active}) when is_integer(N0) ->
+ N = case Active of
+ N1 when is_integer(N1), N0 + N1 =< 0 ->
+ false;
+ N1 when is_integer(N1) ->
+ N0 + N1;
+ _ when N0 =< 0 ->
+ false;
+ _ ->
+ N0
+ end,
+ do_set_emulated_opts(Rest, Opts#socket_options{active = N});
do_set_emulated_opts([{active, Value} | Rest], Opts) ->
do_set_emulated_opts(Rest, Opts#socket_options{active = Value}).