5555 supports_stateful_delivery /0 ,
5656 deliver /3 ,
5757 settle /5 ,
58- credit_v1 /5 ,
5958 credit /6 ,
6059 dequeue /5 ,
6160 info /2 ,
7271-export ([confirm_to_sender /3 ,
7372 send_rejection /3 ,
7473 deliver_to_consumer /5 ,
75- send_credit_reply_credit_api_v1 /3 ,
76- send_drained_credit_api_v1 /4 ,
7774 send_credit_reply /7 ]).
7875
7976-export ([policy_apply_to_name /0 ,
@@ -303,14 +300,13 @@ consume(Q, Spec, State0) when ?amqqueue_is_classic(Q) ->
303300 mode := Mode ,
304301 consumer_tag := ConsumerTag ,
305302 exclusive_consume := ExclusiveConsume ,
306- args := Args0 ,
303+ args := Args ,
307304 ok_msg := OkMsg ,
308305 acting_user := ActingUser } = Spec ,
309- {ModeOrPrefetch , Args } = consume_backwards_compat (Mode , Args0 ),
310306 case delegate :invoke (QPid ,
311307 {gen_server2 , call ,
312308 [{basic_consume , NoAck , ChPid , LimiterPid ,
313- LimiterActive , ModeOrPrefetch , ConsumerTag ,
309+ LimiterActive , Mode , ConsumerTag ,
314310 ExclusiveConsume , Args , OkMsg , ActingUser },
315311 infinity ]}) of
316312 ok ->
@@ -324,34 +320,9 @@ consume(Q, Spec, State0) when ?amqqueue_is_classic(Q) ->
324320 [rabbit_misc :rs (QRef ), Reason ]}
325321 end .
326322
327- % % Delete this function when feature flag rabbitmq_4.0.0 becomes required.
328- consume_backwards_compat ({simple_prefetch , PrefetchCount } = Mode , Args ) ->
329- case rabbit_feature_flags :is_enabled ('rabbitmq_4.0.0' ) of
330- true -> {Mode , Args };
331- false -> {PrefetchCount , Args }
332- end ;
333- consume_backwards_compat ({credited , InitialDeliveryCount } = Mode , Args )
334- when is_integer (InitialDeliveryCount ) ->
335- % % credit API v2
336- {Mode , Args };
337- consume_backwards_compat ({credited , credit_api_v1 }, Args ) ->
338- % % credit API v1
339- {_PrefetchCount = 0 ,
340- [{<<" x-credit" >>, table , [{<<" credit" >>, long , 0 },
341- {<<" drain" >>, bool , false }]} | Args ]}.
342-
343323cancel (Q , Spec , State ) ->
344- % % Cancel API v2 reuses feature flag rabbitmq_4.0.0.
345- Request = case rabbit_feature_flags :is_enabled ('rabbitmq_4.0.0' ) of
346- true ->
347- {stop_consumer , Spec #{pid => self ()}};
348- false ->
349- #{consumer_tag := ConsumerTag ,
350- user := ActingUser } = Spec ,
351- OkMsg = maps :get (ok_msg , Spec , undefined ),
352- {basic_cancel , self (), ConsumerTag , OkMsg , ActingUser }
353- end ,
354324 Pid = amqqueue :get_pid (Q ),
325+ Request = {stop_consumer , Spec #{pid => self ()}},
355326 case delegate :invoke (Pid , {gen_server2 , call , [Request , infinity ]}) of
356327 ok ->
357328 {ok , State #? STATE {pid = Pid }};
@@ -381,11 +352,6 @@ settle(_QName, Op, _CTag, MsgIds, State = #?STATE{pid = Pid}) ->
381352 delegate :invoke_no_result (Pid , {gen_server2 , cast , [Arg ]}),
382353 {State , []}.
383354
384- credit_v1 (_QName , Ctag , LinkCreditSnd , Drain , #? STATE {pid = QPid } = State ) ->
385- Request = {credit , self (), Ctag , LinkCreditSnd , Drain },
386- delegate :invoke_no_result (QPid , {gen_server2 , cast , [Request ]}),
387- {State , []}.
388-
389355credit (_QName , Ctag , DeliveryCountRcv , LinkCreditRcv , Drain , #? STATE {pid = QPid } = State ) ->
390356 Request = {credit , self (), Ctag , DeliveryCountRcv , LinkCreditRcv , Drain },
391357 delegate :invoke_no_result (QPid , {gen_server2 , cast , [Request ]}),
@@ -448,11 +414,6 @@ handle_event(QName, {down, Pid, Info}, #?STATE{monitored = Monitored,
448414 end ;
449415handle_event (_QName , Action , State )
450416 when element (1 , Action ) =:= credit_reply ->
451- {ok , State , [Action ]};
452- handle_event (_QName , {send_drained , {Ctag , Credit }}, State ) ->
453- % % This function clause should be deleted when feature flag
454- % % rabbitmq_4.0.0 becomes required.
455- Action = {credit_reply_v1 , Ctag , Credit , _Available = 0 , _Drain = true },
456417 {ok , State , [Action ]}.
457418
458419settlement_action (_Type , _QRef , [], Acc ) ->
@@ -661,11 +622,8 @@ capabilities() ->
661622 <<" x-dead-letter-routing-key" >>, <<" x-max-length" >>,
662623 <<" x-max-length-bytes" >>, <<" x-max-priority" >>,
663624 <<" x-overflow" >>, <<" x-queue-mode" >>, <<" x-queue-version" >>,
664- <<" x-single-active-consumer" >>, <<" x-queue-type" >>, <<" x-queue-master-locator" >>]
665- ++ case rabbit_feature_flags :is_enabled ('rabbitmq_4.0.0' ) of
666- true -> [<<" x-queue-leader-locator" >>];
667- false -> []
668- end ,
625+ <<" x-single-active-consumer" >>, <<" x-queue-type" >>,
626+ <<" x-queue-master-locator" >>, <<" x-queue-leader-locator" >>],
669627 consumer_arguments => [<<" x-priority" >>],
670628 server_named => true ,
671629 rebalance_module => undefined ,
@@ -742,16 +700,6 @@ deliver_to_consumer(Pid, QName, CTag, AckRequired, Message) ->
742700 Evt = {deliver , CTag , AckRequired , [Message ]},
743701 send_queue_event (Pid , QName , Evt ).
744702
745- % % Delete this function when feature flag rabbitmq_4.0.0 becomes required.
746- send_credit_reply_credit_api_v1 (Pid , QName , Available ) ->
747- Evt = {send_credit_reply , Available },
748- send_queue_event (Pid , QName , Evt ).
749-
750- % % Delete this function when feature flag rabbitmq_4.0.0 becomes required.
751- send_drained_credit_api_v1 (Pid , QName , Ctag , Credit ) ->
752- Evt = {send_drained , {Ctag , Credit }},
753- send_queue_event (Pid , QName , Evt ).
754-
755703send_credit_reply (Pid , QName , Ctag , DeliveryCount , Credit , Available , Drain ) ->
756704 Evt = {credit_reply , Ctag , DeliveryCount , Credit , Available , Drain },
757705 send_queue_event (Pid , QName , Evt ).
0 commit comments