2323 register_tracked /1 ,
2424 unregister_tracked /1 ,
2525 count_tracked_items_in /1 ,
26- clear_tracking_tables /0 ,
2726 shutdown_tracked_items /2 ]).
2827
2928-export ([list /0 , list_of_user /1 , list_on_node /1 ,
4948-spec boot () -> ok .
5049
5150boot () ->
52- clear_tracking_tables (),
5351 ok .
5452
5553-spec update_tracked (term ()) -> ok .
@@ -109,17 +107,13 @@ handle_cast({user_deleted, Details}) ->
109107 % % Schedule user entry deletion, allowing time for connections to close
110108 _ = timer :apply_after (? TRACKING_EXECUTION_TIMEOUT , ? MODULE ,
111109 delete_tracked_channel_user_entry , [Username ]),
112- ok ;
113- handle_cast ({node_deleted , _Details }) ->
114110 ok .
115111
116112-spec register_tracked (rabbit_types :tracked_channel ()) -> ok .
117113-dialyzer ([{nowarn_function , [register_tracked / 1 ]}]).
118114
119- register_tracked (TrackedCh = # tracked_channel {node = Node }) when Node == node () ->
120- register_tracked_ets (TrackedCh ).
121-
122- register_tracked_ets (TrackedCh = # tracked_channel {pid = ChPid , username = Username }) ->
115+ register_tracked (TrackedCh = # tracked_channel {pid = ChPid , username = Username ,
116+ node = Node }) when Node == node () ->
123117 case ets :lookup (? TRACKED_CHANNEL_TABLE , ChPid ) of
124118 [] ->
125119 ets :insert (? TRACKED_CHANNEL_TABLE , TrackedCh ),
@@ -132,9 +126,6 @@ register_tracked_ets(TrackedCh = #tracked_channel{pid = ChPid, username = Userna
132126
133127-spec unregister_tracked_by_pid (pid ()) -> any ().
134128unregister_tracked_by_pid (ChPid ) when node (ChPid ) == node () ->
135- unregister_tracked_by_pid_ets (ChPid ).
136-
137- unregister_tracked_by_pid_ets (ChPid ) ->
138129 case ets :lookup (? TRACKED_CHANNEL_TABLE , ChPid ) of
139130 [] -> ok ;
140131 [# tracked_channel {username = Username }] ->
@@ -148,9 +139,6 @@ unregister_tracked_by_pid_ets(ChPid) ->
148139% % on it.
149140-spec unregister_tracked (rabbit_types :tracked_channel_id ()) -> ok .
150141unregister_tracked (ChId = {Node , _Name }) when Node == node () ->
151- unregister_tracked_ets (ChId ).
152-
153- unregister_tracked_ets (ChId ) ->
154142 case get_tracked_channel_by_id_ets (ChId ) of
155143 [] -> ok ;
156144 [# tracked_channel {pid = ChPid , username = Username }] ->
@@ -160,10 +148,7 @@ unregister_tracked_ets(ChId) ->
160148
161149-spec count_tracked_items_in ({atom (), rabbit_types :username ()}) -> non_neg_integer ().
162150
163- count_tracked_items_in (Type ) ->
164- count_tracked_items_in_ets (Type ).
165-
166- count_tracked_items_in_ets ({user , Username }) ->
151+ count_tracked_items_in ({user , Username }) ->
167152 rabbit_tracking :count_on_all_nodes (
168153 ? MODULE , count_local_tracked_items_of_user , [Username ],
169154 [" channels of user " , Username ]).
@@ -172,11 +157,6 @@ count_tracked_items_in_ets({user, Username}) ->
172157count_local_tracked_items_of_user (Username ) ->
173158 rabbit_tracking :read_ets_counter (? TRACKED_CHANNEL_TABLE_PER_USER , Username ).
174159
175- -spec clear_tracking_tables () -> ok .
176-
177- clear_tracking_tables () ->
178- ok .
179-
180160-spec shutdown_tracked_items (list (), term ()) -> ok .
181161
182162shutdown_tracked_items (TrackedItems , _Args ) ->
@@ -194,16 +174,13 @@ list() ->
194174-spec list_of_user (rabbit_types :username ()) -> [rabbit_types :tracked_channel ()].
195175
196176list_of_user (Username ) ->
197- list_of_user_ets (Username ).
198-
199- list_of_user_ets (Username ) ->
200177 rabbit_tracking :match_tracked_items_ets (
201178 ? TRACKED_CHANNEL_TABLE ,
202179 # tracked_channel {username = Username , _ = '_' }).
203180
204181-spec list_on_node (node ()) -> [rabbit_types :tracked_channel ()].
205182list_on_node (Node ) when Node == node () ->
206- list_on_node_ets ( );
183+ ets : tab2list ( ? TRACKED_CHANNEL_TABLE );
207184list_on_node (Node ) ->
208185 case rabbit_misc :rpc_call (Node , ? MODULE , list_on_node , [Node ]) of
209186 List when is_list (List ) ->
@@ -212,9 +189,6 @@ list_on_node(Node) ->
212189 []
213190 end .
214191
215- list_on_node_ets () ->
216- ets :tab2list (? TRACKED_CHANNEL_TABLE ).
217-
218192-spec tracked_channel_table_name_for (node ()) -> atom ().
219193
220194tracked_channel_table_name_for (Node ) ->
@@ -244,12 +218,9 @@ ensure_per_user_tracked_channels_table_for_this_node_ets() ->
244218 ets :new (? TRACKED_CHANNEL_TABLE_PER_USER , [named_table , public , {write_concurrency , true }]).
245219
246220get_tracked_channels_by_connection_pid (ConnPid ) ->
247- get_tracked_channels_by_connection_pid_ets (ConnPid ).
248-
249- get_tracked_channels_by_connection_pid_ets (ConnPid ) ->
250221 rabbit_tracking :match_tracked_items_local (
251- ? TRACKED_CHANNEL_TABLE ,
252- # tracked_channel {connection = ConnPid , _ = '_' }).
222+ ? TRACKED_CHANNEL_TABLE ,
223+ # tracked_channel {connection = ConnPid , _ = '_' }).
253224
254225get_tracked_channel_by_id_ets (ChId ) ->
255226 rabbit_tracking :match_tracked_items_ets (
0 commit comments