diff options
| author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-11-24 11:58:08 +0000 |
|---|---|---|
| committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-11-24 11:58:08 +0000 |
| commit | 9fbf71408cf4fe495f5602254c65b6dd627a3c46 (patch) | |
| tree | 35739b1c26c1c4172f7fa577ca93059ecbf37c89 | |
| parent | 30f88387eeb4c571fede283886d6474944324d3e (diff) | |
| download | rabbitmq-server-git-9fbf71408cf4fe495f5602254c65b6dd627a3c46.tar.gz | |
cosmetic + handle missing case
| -rw-r--r-- | src/rabbit_amqqueue_process.erl | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 1d7c62c3d4..0a3713e316 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -445,14 +445,16 @@ confirm_message(#basic_message{guid = Guid}, State) -> record_confirm_message(#delivery{msg_seq_no = undefined}, State) -> State; -record_confirm_message(#delivery{message = #basic_message{ - is_persistent = false}}, State) -> - State; -record_confirm_message(#delivery{msg_seq_no = MsgSeqNo, +record_confirm_message(#delivery{message = #basic_message { + is_persistent = true, + guid = Guid}, sender = ChPid, - message = #basic_message{guid = Guid}}, - State = #q{guid_to_channel = GTC}) -> - State#q{guid_to_channel = dict:store(Guid, {ChPid, MsgSeqNo}, GTC)}. + msg_seq_no = MsgSeqNo}, + State = #q{q = #amqqueue{durable = true}, + guid_to_channel = GTC}) -> + State#q{guid_to_channel = dict:store(Guid, {ChPid, MsgSeqNo}, GTC)}; +record_confirm_message(_Delivery, State) -> + State. ack_by_acktags(AckTags, State = #q{backing_queue = BQ, backing_queue_state = BQS}) -> @@ -486,11 +488,12 @@ attempt_delivery(#delivery{txn = none, %% not being enqueued, so we use an empty %% message_properties. {AckTag, BQS1} = - BQ:publish_delivered(AckRequired, Message, - ?BASE_MESSAGE_PROPERTIES - #message_properties { - needs_confirming = NeedsConfirming }, - BQS), + BQ:publish_delivered( + AckRequired, Message, + ?BASE_MESSAGE_PROPERTIES + #message_properties{ + needs_confirming = NeedsConfirming}, + BQS), {{Message, false, AckTag}, true, State1#q{backing_queue_state = BQS1}} end, @@ -512,8 +515,8 @@ deliver_or_enqueue(Delivery, State) -> {false, State1 = #q{backing_queue = BQ, backing_queue_state = BQS}} -> #delivery{message = Message, msg_seq_no = MsgSeqNo} = Delivery, BQS1 = BQ:publish(Message, - (message_properties(State)) #message_properties { - needs_confirming = (MsgSeqNo =/= undefined) }, + (message_properties(State)) #message_properties{ + needs_confirming = (MsgSeqNo =/= undefined)}, BQS), {false, ensure_ttl_timer(State1#q{backing_queue_state = BQS1})} end. |
