summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2011-10-15 15:11:24 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2011-10-15 15:11:24 +0100
commitafa1d652a10f50060a6987fc0e9398bf03850e62 (patch)
tree2a9b3b6533548b38cebe972336af98933b65a225
parentef39ffefe8c13a8da7b82de5414a24e09327004c (diff)
downloadrabbitmq-server-afa1d652a10f50060a6987fc0e9398bf03850e62.tar.gz
refactor: extract delta assertions into one place
-rw-r--r--src/rabbit_variable_queue.erl29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index a856edcd..c6a2f27a 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -824,6 +824,10 @@ a(State = #vqstate { q1 = Q1, q2 = Q2, delta = Delta, q3 = Q3, q4 = Q4,
State.
+d(Delta = #delta { start_seq_id = Start, count = Count, end_seq_id = End })
+ when Start + Count =< End ->
+ Delta.
+
m(MsgStatus = #msg_status { msg = Msg,
is_persistent = IsPersistent,
msg_on_disk = MsgOnDisk,
@@ -938,24 +942,21 @@ betas_from_index_entries(List, TransientThreshold, PA, IndexState) ->
Acks, rabbit_queue_index:deliver(Delivers, IndexState))}.
expand_delta(SeqId, ?BLANK_DELTA_PATTERN(X)) ->
- #delta { start_seq_id = SeqId, count = 1, end_seq_id = SeqId + 1 };
+ d(#delta { start_seq_id = SeqId, count = 1, end_seq_id = SeqId + 1 });
expand_delta(SeqId, #delta { start_seq_id = StartSeqId,
count = Count,
end_seq_id = EndSeqId } = Delta)
when SeqId < StartSeqId ->
- true = StartSeqId + Count =< EndSeqId, %% ASSERTION
- Delta #delta { start_seq_id = SeqId, count = Count + 1 };
+ d(Delta #delta { start_seq_id = SeqId, count = Count + 1 });
expand_delta(SeqId, #delta { start_seq_id = StartSeqId,
count = Count,
end_seq_id = EndSeqId } = Delta)
when SeqId >= EndSeqId ->
- true = StartSeqId + Count =< EndSeqId, %% ASSERTION
- Delta #delta { count = Count + 1, end_seq_id = SeqId + 1 };
+ d(Delta #delta { count = Count + 1, end_seq_id = SeqId + 1 });
expand_delta(_SeqId, #delta { start_seq_id = StartSeqId,
count = Count,
end_seq_id = EndSeqId } = Delta) ->
- true = StartSeqId + Count + 1 =< EndSeqId, %% ASSERTION
- Delta #delta { count = Count + 1 }.
+ d(Delta #delta { count = Count + 1 }).
update_rate(Now, Then, Count, {OThen, OCount}) ->
%% avg over the current period and the previous
@@ -972,9 +973,9 @@ init(IsDurable, IndexState, DeltaCount, Terms, AsyncCallback,
DeltaCount1 = proplists:get_value(persistent_count, Terms, DeltaCount),
Delta = case DeltaCount1 == 0 andalso DeltaCount /= undefined of
true -> ?BLANK_DELTA;
- false -> #delta { start_seq_id = LowSeqId,
- count = DeltaCount1,
- end_seq_id = NextSeqId }
+ false -> d(#delta { start_seq_id = LowSeqId,
+ count = DeltaCount1,
+ end_seq_id = NextSeqId })
end,
Now = now(),
State = #vqstate {
@@ -1566,7 +1567,7 @@ maybe_deltas_to_betas(State = #vqstate {
%% transient and below the threshold
maybe_deltas_to_betas(
State1 #vqstate {
- delta = Delta #delta { start_seq_id = DeltaSeqId1 }});
+ delta = d(Delta #delta { start_seq_id = DeltaSeqId1 })});
Q3aLen ->
Q3b = ?QUEUE:join(Q3, Q3a),
case DeltaCount - Q3aLen of
@@ -1577,9 +1578,9 @@ maybe_deltas_to_betas(State = #vqstate {
delta = ?BLANK_DELTA,
q3 = ?QUEUE:join(Q3b, Q2) };
N when N > 0 ->
- Delta1 = #delta { start_seq_id = DeltaSeqId1,
- count = N,
- end_seq_id = DeltaSeqIdEnd },
+ Delta1 = d(#delta { start_seq_id = DeltaSeqId1,
+ count = N,
+ end_seq_id = DeltaSeqIdEnd }),
State1 #vqstate { delta = Delta1,
q3 = Q3b }
end