2020 new_target /1 ,
2121 new_name /0 ,
2222 is /1 ,
23- key_from_name /1 ,
2423 pid_from_name /2 ,
2524 exists /1 ,
26- ff_enabled /0 ,
2725 local_cast /2 ,
2826 local_call /2 ]).
2927
@@ -159,25 +157,10 @@ exists(#resource{kind = queue,
159157 name = QNameBin } = QName ) ->
160158 case pid_from_name (QNameBin ) of
161159 {ok , Pid } when is_pid (Pid ) ->
162- case ff_enabled () of
163- true ->
164- Request = {has_state , QName , ? MODULE },
165- MFA = {? MODULE , local_call , [Request ]},
166- try delegate :invoke (Pid , MFA )
167- catch _ :_ -> false
168- end ;
169- false ->
170- case key_from_name (QNameBin ) of
171- {ok , Key } ->
172- Msg = {declare_fast_reply_to , Key },
173- try gen_server :call (Pid , Msg , infinity ) of
174- exists -> true ;
175- _ -> false
176- catch exit :_ -> false
177- end ;
178- error ->
179- false
180- end
160+ Request = {has_state , QName , ? MODULE },
161+ MFA = {? MODULE , local_call , [Request ]},
162+ try delegate :invoke (Pid , MFA )
163+ catch _ :_ -> false
181164 end ;
182165 _ ->
183166 false
@@ -201,22 +184,11 @@ deliver(Qs, Msg, #{}) ->
201184 {[], []}.
202185
203186deliver0 (Q , Msg ) ->
204- QName = amqqueue :get_name (Q ),
205187 QPid = amqqueue :get_pid (Q ),
206- case ff_enabled () of
207- true ->
208- Request = {queue_event , QName , {deliver , Msg }},
209- MFA = {? MODULE , local_cast , [Request ]},
210- delegate :invoke_no_result (QPid , MFA );
211- false ->
212- case key_from_name (QName # resource .name ) of
213- {ok , Key } ->
214- MFA = {rabbit_channel , deliver_reply_local , [Key , Msg ]},
215- delegate :invoke_no_result (QPid , MFA );
216- error ->
217- ok
218- end
219- end .
188+ QName = amqqueue :get_name (Q ),
189+ Request = {queue_event , QName , {deliver , Msg }},
190+ MFA = {? MODULE , local_cast , [Request ]},
191+ delegate :invoke_no_result (QPid , MFA ).
220192
221193-spec local_cast (pid (), term ()) -> ok .
222194local_cast (Pid , Request ) ->
@@ -290,9 +262,6 @@ cancel(_, _, #?STATE{} = State) ->
290262is_enabled () ->
291263 true .
292264
293- ff_enabled () ->
294- rabbit_feature_flags :is_enabled ('rabbitmq_4.2.0' ).
295-
296265is_compatible (_ , _ , _ ) ->
297266 true .
298267
@@ -422,18 +391,5 @@ pid_from_name(<<?PREFIX, Bin/binary>>, CandidateNodes) ->
422391pid_from_name (_ , _ ) ->
423392 error .
424393
425- % % Returns the base 64 encoded key.
426- -spec key_from_name (rabbit_misc :resource_name ()) ->
427- {ok , binary ()} | error .
428- key_from_name (<<? PREFIX , Suffix /binary >>) ->
429- case binary :split (Suffix , <<" ." >>) of
430- [_Pid , Key ] ->
431- {ok , Key };
432- _ ->
433- error
434- end ;
435- key_from_name (_ ) ->
436- error .
437-
438394nodes_with_hashes () ->
439395 #{erlang :phash2 (Node ) => Node || Node <- rabbit_nodes :list_members ()}.
0 commit comments