diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2014-01-09 00:06:35 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2014-01-09 00:06:35 +0000 |
commit | 18f539584086962b35f3db0bc0d288fd5e1480c9 (patch) | |
tree | 4e445b4aefba227208edd62049cd4c753b29b8ef | |
parent | 0ff332cd199a119e3441d57ba05094a9edf7b922 (diff) | |
download | rabbitmq-server-18f539584086962b35f3db0bc0d288fd5e1480c9.tar.gz |
tiny refactor: better function name
...and more sensible case order
-rw-r--r-- | src/rabbit_limiter.erl | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/rabbit_limiter.erl b/src/rabbit_limiter.erl index 22da465b..d5cfbce6 100644 --- a/src/rabbit_limiter.erl +++ b/src/rabbit_limiter.erl @@ -245,9 +245,9 @@ can_send(L = #qstate{pid = Pid, state = State, credits = Credits}, case is_consumer_blocked(L, CTag) of false -> case (State =/= active orelse safe_call(Pid, {can_send, self(), AckRequired}, true)) of - true -> {continue, L#qstate{ - credits = record_send_q(CTag, Credits)}}; - false -> {suspend, L#qstate{state = suspended}} + true -> Credits1 = decrement_credit(CTag, Credits), + {continue, L#qstate{credits = Credits1}}; + false -> {suspend, L#qstate{state = suspended}} end; true -> {suspend, L} end. @@ -271,9 +271,9 @@ is_suspended(#qstate{}) -> false. is_consumer_blocked(#qstate{credits = Credits}, CTag) -> case gb_trees:lookup(CTag, Credits) of + none -> false; {value, #credit{credit = C}} when C > 0 -> false; - {value, #credit{}} -> true; - none -> false + {value, #credit{}} -> true end. credit(Limiter = #qstate{credits = Credits}, CTag, Credit, Drain) -> @@ -303,7 +303,7 @@ forget_consumer(Limiter = #qstate{credits = Credits}, CTag) -> %% state for us (#qstate.credits), and maintain a fiction that the %% limiter is making the decisions... -record_send_q(CTag, Credits) -> +decrement_credit(CTag, Credits) -> case gb_trees:lookup(CTag, Credits) of {value, #credit{credit = Credit, drain = Drain}} -> update_credit(CTag, Credit - 1, Drain, Credits); |