Просмотр исходного кода

fix(dialyzer): some dialyzer problems

Shawn 4 лет назад
Родитель
Сommit
4da59a5785

+ 2 - 2
apps/emqx/src/emqx_alarm.erl

@@ -307,8 +307,8 @@ clear_table(TableName) ->
     end.
 
 ensure_timer(OldTRef, Period) ->
-    case is_reference(OldTRef) of
-        true -> _ = erlang:cancel_timer(OldTRef);
+    _ = case is_reference(OldTRef) of
+        true -> erlang:cancel_timer(OldTRef);
         false -> ok
     end,
     emqx_misc:start_timer(Period, delete_expired_deactivated_alarm).

+ 2 - 4
apps/emqx/src/emqx_channel.erl

@@ -253,14 +253,12 @@ set_peercert_infos(Peercert, ClientInfo, Zone, Listener) ->
     {DN, CN} = {esockd_peercert:subject(Peercert),
                 esockd_peercert:common_name(Peercert)},
     PeercetAs = fun(Key) ->
-        % esockd_peercert:peercert is opaque
-        % https://github.com/emqx/esockd/blob/master/src/esockd_peercert.erl
         case get_mqtt_conf(Zone, Listener, Key) of
          cn  -> CN;
          dn  -> DN;
          crt -> Peercert;
-         pem -> base64:encode(Peercert);
-         md5 -> emqx_passwd:hash(md5, Peercert);
+         pem when is_binary(Peercert) -> base64:encode(Peercert);
+         md5 when is_binary(Peercert) -> emqx_passwd:hash(md5, Peercert);
          _   -> undefined
         end
     end,

+ 1 - 1
apps/emqx/src/emqx_flapping.erl

@@ -54,7 +54,7 @@
           clientid   :: emqx_types:clientid(),
           peerhost   :: emqx_types:peerhost(),
           started_at :: pos_integer(),
-          detect_cnt :: pos_integer()
+          detect_cnt :: integer()
          }).
 
 -opaque(flapping() :: #flapping{}).

+ 0 - 7
apps/emqx/src/emqx_frame.erl

@@ -34,9 +34,6 @@
         , serialize/2
         ]).
 
--export([ set_opts/2
-        ]).
-
 -export_type([ options/0
              , parse_state/0
              , parse_result/0
@@ -86,10 +83,6 @@ initial_parse_state() ->
 initial_parse_state(Options) when is_map(Options) ->
     ?none(maps:merge(?DEFAULT_OPTIONS, Options)).
 
--spec set_opts(parse_state(), options()) -> parse_state().
-set_opts({_, OldOpts}, Opts) ->
-    maps:merge(OldOpts, Opts).
-
 %%--------------------------------------------------------------------
 %% Parse MQTT Frame
 %%--------------------------------------------------------------------

+ 2 - 2
apps/emqx/src/emqx_os_mon.erl

@@ -81,7 +81,7 @@ init([]) ->
     set_mem_check_interval(maps:get(mem_check_interval, Opts)),
     set_sysmem_high_watermark(maps:get(sysmem_high_watermark, Opts)),
     set_procmem_high_watermark(maps:get(procmem_high_watermark, Opts)),
-    start_check_timer(),
+    _ = start_check_timer(),
     {ok, #{}}.
 
 handle_call(Req, _From, State) ->
@@ -95,7 +95,7 @@ handle_cast(Msg, State) ->
 handle_info({timeout, _Timer, check}, State) ->
     CPUHighWatermark = emqx_config:get([sysmon, os, cpu_high_watermark]) * 100,
     CPULowWatermark = emqx_config:get([sysmon, os, cpu_low_watermark]) * 100,
-    case emqx_vm:cpu_util() of %% TODO: should be improved?
+    _ = case emqx_vm:cpu_util() of %% TODO: should be improved?
         0 -> ok;
         Busy when Busy >= CPUHighWatermark ->
             emqx_alarm:activate(high_cpu_usage, #{usage => io_lib:format("~p%", [Busy]),

+ 2 - 2
apps/emqx/src/emqx_session.erl

@@ -96,7 +96,7 @@
           %% Client’s Subscriptions.
           subscriptions :: map(),
           %% Max subscriptions allowed
-          max_subscriptions :: non_neg_integer(),
+          max_subscriptions :: non_neg_integer() | infinity,
           %% Upgrade QoS?
           upgrade_qos :: boolean(),
           %% Client <- Broker: QoS1/2 messages sent to the client but
@@ -115,7 +115,7 @@
           %% have not been completely acknowledged
           awaiting_rel :: map(),
           %% Maximum number of awaiting QoS2 messages allowed
-          max_awaiting_rel :: non_neg_integer(),
+          max_awaiting_rel :: non_neg_integer() | infinity,
           %% Awaiting PUBREL Timeout (Unit: millsecond)
           await_rel_timeout :: timeout(),
           %% Created at

+ 1 - 1
apps/emqx/src/emqx_ws_connection.erl

@@ -524,7 +524,7 @@ check_oom(State = #state{channel = Channel}) ->
     ShutdownPolicy = emqx_config:get_listener_conf(emqx_channel:info(zone, Channel),
         emqx_channel:info(listener, Channel), [force_shutdown]),
     case ShutdownPolicy of
-        #{enable := false} -> ok;
+        #{enable := false} -> State;
         #{enable := true} ->
             case emqx_misc:check_oom(ShutdownPolicy) of
                 Shutdown = {shutdown, _Reason} ->