feat: add emqx_misc:ipv6_probe/2 function
This commit is contained in:
parent
c2f1f1aab8
commit
61d745a230
|
@ -3,6 +3,7 @@
|
||||||
{VSN,
|
{VSN,
|
||||||
[{"4.3.22",
|
[{"4.3.22",
|
||||||
[{load_module,emqx,brutal_purge,soft_purge,[]},
|
[{load_module,emqx,brutal_purge,soft_purge,[]},
|
||||||
|
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
|
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
|
||||||
{"4.3.21",
|
{"4.3.21",
|
||||||
[{load_module,emqx_alarm,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_alarm,brutal_purge,soft_purge,[]},
|
||||||
|
@ -15,6 +16,7 @@
|
||||||
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_tracer,brutal_purge,soft_purge,[]},
|
{load_module,emqx_tracer,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_channel,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,[]}]},
|
{load_module,emqx,brutal_purge,soft_purge,[]}]},
|
||||||
{"4.3.20",
|
{"4.3.20",
|
||||||
[{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
||||||
|
@ -29,6 +31,7 @@
|
||||||
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_message,brutal_purge,soft_purge,[]},
|
{load_module,emqx_message,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_cm,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,[]}]},
|
{load_module,emqx,brutal_purge,soft_purge,[]}]},
|
||||||
{"4.3.19",
|
{"4.3.19",
|
||||||
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
|
||||||
|
@ -828,6 +831,7 @@
|
||||||
{<<".*">>,[]}],
|
{<<".*">>,[]}],
|
||||||
[{"4.3.22",
|
[{"4.3.22",
|
||||||
[{load_module,emqx,brutal_purge,soft_purge,[]},
|
[{load_module,emqx,brutal_purge,soft_purge,[]},
|
||||||
|
{load_module,emqx_misc,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
|
{load_module,emqx_app,brutal_purge,soft_purge,[]}]},
|
||||||
{"4.3.21",
|
{"4.3.21",
|
||||||
[{load_module,emqx_alarm,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_alarm,brutal_purge,soft_purge,[]},
|
||||||
|
@ -840,6 +844,7 @@
|
||||||
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
|
{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_tracer,brutal_purge,soft_purge,[]},
|
{load_module,emqx_tracer,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_channel,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,[]}]},
|
{load_module,emqx,brutal_purge,soft_purge,[]}]},
|
||||||
{"4.3.20",
|
{"4.3.20",
|
||||||
[{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
|
||||||
|
@ -854,6 +859,7 @@
|
||||||
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
{load_module,emqx_app,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_message,brutal_purge,soft_purge,[]},
|
{load_module,emqx_message,brutal_purge,soft_purge,[]},
|
||||||
{load_module,emqx_cm,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,[]}]},
|
{load_module,emqx,brutal_purge,soft_purge,[]}]},
|
||||||
{"4.3.19",
|
{"4.3.19",
|
||||||
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
|
[{load_module,emqx_listeners,brutal_purge,soft_purge,[]},
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
, index_of/2
|
, index_of/2
|
||||||
, maybe_parse_ip/1
|
, maybe_parse_ip/1
|
||||||
, ipv6_probe/1
|
, ipv6_probe/1
|
||||||
|
, ipv6_probe/2
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-export([ bin2hexstr_A_F/1
|
-export([ bin2hexstr_A_F/1
|
||||||
|
@ -84,12 +85,15 @@ maybe_parse_ip(Host) ->
|
||||||
|
|
||||||
%% @doc Add `ipv6_probe' socket option if it's supported.
|
%% @doc Add `ipv6_probe' socket option if it's supported.
|
||||||
ipv6_probe(Opts) ->
|
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()
|
Bool = try gen_tcp:ipv6_probe()
|
||||||
catch _ : _ -> false end,
|
catch _ : _ -> false end,
|
||||||
ipv6_probe(Bool, Opts).
|
ipv6_probe(Bool, Opts, Ipv6Probe).
|
||||||
|
|
||||||
ipv6_probe(false, Opts) -> Opts;
|
ipv6_probe(false, Opts, _) -> Opts;
|
||||||
ipv6_probe(true, Opts) -> [{ipv6_probe, true} | Opts].
|
ipv6_probe(true, Opts, Ipv6Probe) -> [{ipv6_probe, Ipv6Probe} | Opts].
|
||||||
|
|
||||||
%% @doc Merge options
|
%% @doc Merge options
|
||||||
-spec(merge_opts(Opts, Opts) -> Opts when Opts :: proplists:proplist()).
|
-spec(merge_opts(Opts, Opts) -> Opts when Opts :: proplists:proplist()).
|
||||||
|
|
Loading…
Reference in New Issue