Jelajahi Sumber

feat(config): set the endpoint to "" to disable listener

William Yang 4 tahun lalu
induk
melakukan
660d16e84b
2 mengubah file dengan 5 tambahan dan 3 penghapusan
  1. 1 2
      apps/emqx/src/emqx_listeners.erl
  2. 4 1
      apps/emqx/src/emqx_schema.erl

+ 1 - 2
apps/emqx/src/emqx_listeners.erl

@@ -145,9 +145,8 @@ start_listener(Proto, ListenOn, Options) when Proto == https; Proto == wss ->
 
 %% Start MQTT/QUIC listener
 start_listener(quic, ListenOn, Options) ->
-    IsQuicEnabled = false == os:getenv("EMQX_NO_QUIC"),
     case [ A || {quicer, _, _} = A<-application:which_applications() ] of
-        [_] when IsQuicEnabled ->
+        [_] ->
             %% @fixme unsure why we need reopen lib and reopen config.
             quicer_nif:open_lib(),
             quicer_nif:reg_open(),

+ 4 - 1
apps/emqx/src/emqx_schema.erl

@@ -333,7 +333,7 @@ fields("quic_listener") ->
     [ {"$name", ref("quic_listener_settings")}];
 
 fields("listener_settings") ->
-    [ {"endpoint", t(union(ip_port(), integer()))}
+    [ {"endpoint", t(union([ip_port(), integer(), ""]))}
     , {"acceptors", t(integer(), undefined, 8)}
     , {"max_connections", t(integer(), undefined, 1024)}
     , {"max_conn_rate", t(integer())}
@@ -785,6 +785,7 @@ tr_listeners(Conf) ->
     TcpListeners = fun(Type, Name) ->
         Prefix = string:join(["listener", Type, Name], "."),
         ListenOnN = case conf_get(Prefix ++ ".endpoint", Conf) of
+                        "" -> [];
                         undefined -> [];
                         ListenOn  -> ListenOn
                     end,
@@ -801,6 +802,8 @@ tr_listeners(Conf) ->
     SslListeners = fun(Type, Name) ->
         Prefix = string:join(["listener", Type, Name], "."),
         case conf_get(Prefix ++ ".endpoint", Conf) of
+            "" ->
+                [];
             undefined ->
                 [];
             ListenOn ->