summaryrefslogtreecommitdiff
path: root/src
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
commit9a3f41d67fd49d29ac21a88e29429f14a17f1b7a (patch)
tree90d27ef810c4f826823782426497ef2b5673148b /src
parent50afbee9c539463a25727b28b9469a96f35775bb (diff)
downloadrabbitmq-server-git-9a3f41d67fd49d29ac21a88e29429f14a17f1b7a.tar.gz
neater
Diffstat (limited to 'src')
-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 5d20aae4e5..07a1d9e556 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(),