Browse Source

feat(emqx_limiter): add support for update overall limiter

lafirest 4 years ago
parent
commit
eb003e3305
1 changed files with 13 additions and 0 deletions
  1. 13 0
      src/emqx_limiter.erl

+ 13 - 0
src/emqx_limiter.erl

@@ -23,6 +23,7 @@
         , init/4 %% XXX: Compatible with before 4.2 version
         , info/1
         , check/2
+        , update_overall_limiter/4
         ]).
 
 -record(limiter, {
@@ -152,3 +153,15 @@ is_message_limiter(conn_messages_in) -> true;
 is_message_limiter(conn_messages_routing) -> true;
 is_message_limiter(overall_messages_routing) -> true;
 is_message_limiter(_) -> false.
+
+update_overall_limiter(Zone, Name, Capacity, Interval) ->
+    case is_overall_limiter(Name) of
+        false -> false;
+        _ ->
+            try
+                esockd_limiter:update({Zone, Name}, Capacity, Interval),
+                true
+            catch _:_:_ ->
+                    false
+            end
+    end.