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 | 1bec9a9b613e2a8f9d83a2429e6f6de44c306976 (patch) | |
| tree | 4e445b4aefba227208edd62049cd4c753b29b8ef | |
| parent | f4006a6963c08ec6568f9443e50e6656e3a4cf7b (diff) | |
| download | rabbitmq-server-git-1bec9a9b613e2a8f9d83a2429e6f6de44c306976.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 22da465b88..d5cfbce63a 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); |
