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

chore(utils): rename boolean function to `emqt_topic:is_subset/2`

To better reflect that it gives a single boolean.
Andrew Mayorov 1 год назад
Родитель
Сommit
8a34793a43

+ 7 - 7
apps/emqx/src/emqx_topic.erl

@@ -35,7 +35,7 @@
     parse/1,
     parse/2,
     intersection/2,
-    subset/2,
+    is_subset/2,
     union/1
 ]).
 
@@ -169,12 +169,12 @@ wildcard_intersection(W, W) -> W;
 wildcard_intersection(_, _) -> '+'.
 
 %% @doc Finds out if topic / topic filter T1 is a subset of topic / topic filter T2.
--spec subset(topic() | words(), topic() | words()) -> boolean().
-subset(T1, T1) ->
+-spec is_subset(topic() | words(), topic() | words()) -> boolean().
+is_subset(T1, T1) ->
     true;
-subset(T1, T2) when is_binary(T1) ->
+is_subset(T1, T2) when is_binary(T1) ->
     intersection(T1, T2) =:= T1;
-subset(T1, T2) ->
+is_subset(T1, T2) ->
     intersection(T1, T2) =:= join(T1).
 
 %% @doc Compute the smallest set of topics / topic filters that contain (have as a
@@ -184,9 +184,9 @@ subset(T1, T2) ->
 -spec union(_Set :: [topic() | words()]) -> [topic() | words()].
 union([Filter | Filters]) ->
     %% Drop filters completely covered by `Filter`.
-    Disjoint = [F || F <- Filters, not subset(F, Filter)],
+    Disjoint = [F || F <- Filters, not is_subset(F, Filter)],
     %% Drop `Filter` if completely covered by another filter.
-    Head = [Filter || not lists:any(fun(F) -> subset(Filter, F) end, Disjoint)],
+    Head = [Filter || not lists:any(fun(F) -> is_subset(Filter, F) end, Disjoint)],
     Head ++ union(Disjoint);
 union([]) ->
     [].

+ 2 - 2
apps/emqx_cluster_link/src/emqx_cluster_link_router.erl

@@ -53,7 +53,7 @@ compute_intersections(_Topic, [], Acc) ->
 unionify(Filter, Union) ->
     %% NOTE: See also `emqx_topic:union/1` implementation.
     %% Drop filters completely covered by `Filter`.
-    Disjoint = [F || F <- Union, not emqx_topic:subset(F, Filter)],
+    Disjoint = [F || F <- Union, not emqx_topic:is_subset(F, Filter)],
     %% Drop `Filter` if completely covered by another filter.
-    Head = [Filter || not lists:any(fun(F) -> emqx_topic:subset(Filter, F) end, Disjoint)],
+    Head = [Filter || not lists:any(fun(F) -> emqx_topic:is_subset(Filter, F) end, Disjoint)],
     Head ++ Disjoint.