summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-09-25 22:14:54 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2012-09-25 22:14:54 +0100
commitb151d6930710aea7ae7220678208cea69c968a8c (patch)
tree90d27ef810c4f826823782426497ef2b5673148b
parent5105a8ae3f3d2901f2161cd4cf3229e297990cfa (diff)
downloadrabbitmq-server-b151d6930710aea7ae7220678208cea69c968a8c.tar.gz
neater
-rw-r--r--src/rabbit_mirror_queue_slave.erl24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 5d20aae4..07a1d9e5 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -882,24 +882,22 @@ maybe_store_ack(true, MsgId, AckTag, State = #state { msg_id_ack = MA,
State #state { msg_id_ack = dict:store(MsgId, {Num, AckTag}, MA),
ack_num = Num + 1 }.
+set_delta(0, State = #state { depth_delta = undefined }) ->
+ ok = record_synchronised(State#state.q),
+ State #state { depth_delta = 0 };
set_delta(NewDelta, State = #state { depth_delta = undefined }) ->
- case NewDelta of
- 0 -> ok = record_synchronised(State#state.q),
- State #state { depth_delta = 0 };
- D when D > 0 -> State #state { depth_delta = D }
- end;
-set_delta(NewDelta, State = #state { depth_delta = Delta }) ->
+ true = NewDelta > 0, %% assertion
+ State #state { depth_delta = NewDelta };
+set_delta(NewDelta, State = #state { depth_delta = Delta }) ->
update_delta(NewDelta - Delta, State).
update_delta(_DeltaChange, State = #state { depth_delta = undefined }) ->
State;
-update_delta(DeltaChange, State = #state { depth_delta = Delta }) ->
- 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.
+update_delta( DeltaChange, State = #state { depth_delta = 0 }) ->
+ 0 = DeltaChange, %% assertion: we cannot become unsync'ed
+ State;
+update_delta( DeltaChange, State = #state { depth_delta = Delta }) ->
+ set_delta(Delta + DeltaChange, State #state { depth_delta = undefined }).
record_synchronised(#amqqueue { name = QName }) ->
Self = self(),