2929% % Contributor(s): ______________________________________.
3030% %
3131
32- -module (rabbit_reader_queue_collector ).
32+ -module (rabbit_queue_collector ).
3333
3434-behaviour (gen_server ).
3535
36- -export ([start_link /0 , register_exclusive_queue /2 , delete_all /1 , shutdown /1 ]).
36+ -export ([start_link /0 , register /2 , delete_all /1 , shutdown /1 ]).
3737
3838-export ([init /1 , handle_call /3 , handle_cast /2 , handle_info /2 ,
3939 terminate /2 , code_change /3 ]).
4040
41- -record (state , {exclusive_queues }).
41+ -record (state , {queues }).
4242
4343-include (" rabbit.hrl" ).
4444
4747-ifdef (use_specs ).
4848
4949-spec (start_link / 0 :: () -> rabbit_types :ok (pid ())).
50- -spec (register_exclusive_queue / 2 :: (pid (), rabbit_types :amqqueue ()) -> 'ok' ).
50+ -spec (register / 2 :: (pid (), rabbit_types :amqqueue ()) -> 'ok' ).
5151-spec (delete_all / 1 :: (pid ()) -> 'ok' ).
5252
5353-endif .
5757start_link () ->
5858 gen_server :start_link (? MODULE , [], []).
5959
60- register_exclusive_queue (CollectorPid , Q ) ->
61- gen_server :call (CollectorPid , {register_exclusive_queue , Q }, infinity ).
60+ register (CollectorPid , Q ) ->
61+ gen_server :call (CollectorPid , {register , Q }, infinity ).
6262
6363delete_all (CollectorPid ) ->
6464 gen_server :call (CollectorPid , delete_all , infinity ).
@@ -69,25 +69,24 @@ shutdown(CollectorPid) ->
6969% %----------------------------------------------------------------------------
7070
7171init ([]) ->
72- {ok , # state {exclusive_queues = dict :new ()}}.
72+ {ok , # state {queues = dict :new ()}}.
7373
7474% %--------------------------------------------------------------------------
7575
76- handle_call ({register_exclusive_queue , Q }, _From ,
77- State = # state {exclusive_queues = Queues }) ->
76+ handle_call ({register , Q }, _From ,
77+ State = # state {queues = Queues }) ->
7878 MonitorRef = erlang :monitor (process , Q # amqqueue .pid ),
7979 {reply , ok ,
80- State # state {exclusive_queues = dict :store (MonitorRef , Q , Queues )}};
80+ State # state {queues = dict :store (MonitorRef , Q , Queues )}};
8181
82- handle_call (delete_all , _From ,
83- State = # state {exclusive_queues = ExclusiveQueues }) ->
82+ handle_call (delete_all , _From , State = # state {queues = Queues }) ->
8483 [rabbit_misc :with_exit_handler (
8584 fun () -> ok end ,
8685 fun () ->
8786 erlang :demonitor (MonitorRef ),
8887 rabbit_amqqueue :delete (Q , false , false )
8988 end )
90- || {MonitorRef , Q } <- dict :to_list (ExclusiveQueues )],
89+ || {MonitorRef , Q } <- dict :to_list (Queues )],
9190 {reply , ok , State };
9291
9392handle_call (shutdown , _From , State ) ->
@@ -97,9 +96,8 @@ handle_cast(_Msg, State) ->
9796 {noreply , State }.
9897
9998handle_info ({'DOWN' , MonitorRef , process , _DownPid , _Reason },
100- State = # state {exclusive_queues = ExclusiveQueues }) ->
101- {noreply , State # state {exclusive_queues =
102- dict :erase (MonitorRef , ExclusiveQueues )}}.
99+ State = # state {queues = Queues }) ->
100+ {noreply , State # state {queues = dict :erase (MonitorRef , Queues )}}.
103101
104102terminate (_Reason , _State ) ->
105103 ok .
0 commit comments