summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-05-18 15:18:39 +0100
committerMatthew Sackman <matthew@lshift.net>2010-05-18 15:18:39 +0100
commitbe1e06df00b7cdd4b148557f77f4b93970137419 (patch)
treee1e571ceecde3b631fa605ca8bdb7a67f7f27016 /src
parent29a19aee52d91aef333dde32711bfcfb5581e34d (diff)
downloadrabbitmq-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.erl26
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,