feat: add emqx_misc:ipv6_probe/2 function

This commit is contained in:
zhongwencool 2022-09-22 11:00:16 +08:00
parent c2f1f1aab8
commit 61d745a230
2 changed files with 13 additions and 3 deletions

View File

@ -3,6 +3,7 @@
{VSN,
[{"4.3.22",
[{load_module,emqx,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.3.21",
[{load_module,emqx_alarm,brutal_purge,soft_purge,[]},
@ -15,6 +16,7 @@
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_tracer,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx,brutal_purge,soft_purge,[]}]},
{"4.3.20",
[{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
@ -29,6 +31,7 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_message,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx,brutal_purge,soft_purge,[]}]},
{"4.3.19",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
@ -828,6 +831,7 @@
{<<".*">>,[]}],
[{"4.3.22",
[{load_module,emqx,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.3.21",
[{load_module,emqx_alarm,brutal_purge,soft_purge,[]},
@ -840,6 +844,7 @@
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_tracer,brutal_purge,soft_purge,[]},
{load_module,emqx_channel,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx,brutal_purge,soft_purge,[]}]},
{"4.3.20",
[{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
@ -854,6 +859,7 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_message,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
{load_module,emqx,brutal_purge,soft_purge,[]}]},
{"4.3.19",
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},

View File

@ -45,6 +45,7 @@
, index_of/2
, maybe_parse_ip/1
, ipv6_probe/1
, ipv6_probe/2
]).
-export([ bin2hexstr_A_F/1
@ -84,12 +85,15 @@ maybe_parse_ip(Host) ->
%% @doc Add `ipv6_probe' socket option if it's supported.
ipv6_probe(Opts) ->
ipv6_probe(Opts, true).
ipv6_probe(Opts, Ipv6Probe) when is_boolean(Ipv6Probe) orelse is_integer(Ipv6Probe) ->
Bool = try gen_tcp:ipv6_probe()
catch _ : _ -> false end,
ipv6_probe(Bool, Opts).
ipv6_probe(Bool, Opts, Ipv6Probe).
ipv6_probe(false, Opts) -> Opts;
ipv6_probe(true, Opts) -> [{ipv6_probe, true} | Opts].
ipv6_probe(false, Opts, _) -> Opts;
ipv6_probe(true, Opts, Ipv6Probe) -> [{ipv6_probe, Ipv6Probe} | Opts].
%% @doc Merge options
-spec(merge_opts(Opts, Opts) -> Opts when Opts :: proplists:proplist()).