diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-05-18 15:18:39 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-05-18 15:18:39 +0100 |
| commit | be1e06df00b7cdd4b148557f77f4b93970137419 (patch) | |
| tree | e1e571ceecde3b631fa605ca8bdb7a67f7f27016 /src | |
| parent | 29a19aee52d91aef333dde32711bfcfb5581e34d (diff) | |
| download | rabbitmq-server-git-be1e06df00b7cdd4b148557f77f4b93970137419.tar.gz | |
vq:delete1 does not need to return nor pass around any count
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_variable_queue.erl | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index d3fa33dc2f..41cdb312f6 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -365,10 +365,7 @@ delete_and_terminate(State) -> {N, N, IndexState3} -> IndexState3; {DeltaSeqId, NextSeqId, IndexState3} -> - {_DeleteCount, IndexState4} = - delete1(PersistentStore, TransientThreshold, NextSeqId, 0, - DeltaSeqId, IndexState3), - IndexState4 + delete1(PersistentStore, TransientThreshold, NextSeqId, DeltaSeqId, IndexState3) end, IndexState5 = rabbit_queue_index:terminate_and_erase(IndexState2), rabbit_msg_store:delete_client(PersistentStore, PRef), @@ -957,27 +954,26 @@ tx_commit_index(State = #vqstate { on_sync = {SAcks, SPubs, SFuns}, [ Fun() || Fun <- lists:reverse(SFuns) ], State2 #vqstate { index_state = IndexState1, on_sync = {[], [], []} }. -delete1(_PersistentStore, _TransientThreshold, NextSeqId, Count, DeltaSeqId, +delete1(_PersistentStore, _TransientThreshold, NextSeqId, DeltaSeqId, IndexState) when DeltaSeqId =:= undefined orelse DeltaSeqId >= NextSeqId -> - {Count, IndexState}; -delete1(PersistentStore, TransientThreshold, NextSeqId, Count, DeltaSeqId, + IndexState; +delete1(PersistentStore, TransientThreshold, NextSeqId, DeltaSeqId, IndexState) -> {List, Again, IndexState1} = rabbit_queue_index:read(DeltaSeqId, NextSeqId, IndexState), - {IndexState2, Count1} = + IndexState2 = case List of - [] -> {IndexState1, Count}; - _ -> {Q, IndexState3} = - betas_from_segment_entries( - List, TransientThreshold, IndexState1), - {Count2, IndexState4} = + [] -> IndexState1; + _ -> {Q, IndexState3} = betas_from_segment_entries( + List, TransientThreshold, IndexState1), + {_Count, IndexState4} = remove_queue_entries( PersistentStore, fun beta_fold_no_index_on_disk/3, Q, IndexState3), - {IndexState4, Count2 + Count} + IndexState4 end, - delete1(PersistentStore, TransientThreshold, NextSeqId, Count1, Again, + delete1(PersistentStore, TransientThreshold, NextSeqId, Again, IndexState2). purge1(Count, State = #vqstate { q3 = Q3, index_state = IndexState, |
