summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-09-25 22:00:52 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2012-09-25 22:00:52 +0100
commit5105a8ae3f3d2901f2161cd4cf3229e297990cfa (patch)
treec0f7b8872b111244d87764c806eddf82b9736ba2
parente160a9edc08f109b32426145c6ad8ced10b9f911 (diff)
downloadrabbitmq-server-5105a8ae3f3d2901f2161cd4cf3229e297990cfa.tar.gz
Is this better? I'm not sure.
-rw-r--r--src/rabbit_mirror_queue_slave.erl11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 92a8ed9f..5d20aae4 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -894,12 +894,11 @@ set_delta(NewDelta, State = #state { depth_delta = Delta }) ->
update_delta(_DeltaChange, State = #state { depth_delta = undefined }) ->
State;
update_delta(DeltaChange, State = #state { depth_delta = Delta }) ->
- case {Delta, Delta + DeltaChange} of
- {0, D} -> 0 = D, %% assertion: we cannot become unsync'ed
- State;
- {_, 0} -> ok = record_synchronised(State#state.q),
- State #state { depth_delta = 0 };
- {_, D} when D > 0 -> State #state { depth_delta = D }
+ NewDelta = Delta + DeltaChange,
+ case Delta of
+ 0 -> 0 = NewDelta, %% assertion: we cannot become unsync'ed
+ State;
+ _ -> set_delta(NewDelta, State #state { depth_delta = undefined })
end.
record_synchronised(#amqqueue { name = QName }) ->