summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2013-02-11 14:16:29 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2013-02-11 14:16:29 +0000
commit3e6eb6cfeeba79356478f151cd8f166d8523ff95 (patch)
tree0203999085fbf10e9f0772231f803620bd58cfa3
parent9033ea545e7c8ea7ab3193bd28782f62ff700f1e (diff)
downloadrabbitmq-server-3e6eb6cfeeba79356478f151cd8f166d8523ff95.tar.gz
some inlining and moving around
-rw-r--r--src/rabbit_limiter.erl27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/rabbit_limiter.erl b/src/rabbit_limiter.erl
index 8ed1adc7..46b465bc 100644
--- a/src/rabbit_limiter.erl
+++ b/src/rabbit_limiter.erl
@@ -181,24 +181,13 @@ copy_queue_state(#token{q_state = Credits}, Token) ->
record_send_q(CTag, Len, ChPid, Credits) ->
case dict:find(CTag, Credits) of
- {ok, Cred} ->
- decr_credit(CTag, Len, ChPid, Cred, Credits);
+ {ok, #credit{credit = Credit, drain = Drain}} ->
+ NewCredit = maybe_drain(Len - 1, Drain, CTag, ChPid, Credit - 1),
+ write_credit(CTag, NewCredit, Drain, Credits);
error ->
Credits
end.
-decr_credit(CTag, Len, ChPid, Cred, Credits) ->
- #credit{credit = Credit, drain = Drain} = Cred,
- NewCredit = maybe_drain(Len - 1, Drain, CTag, ChPid, Credit - 1),
- write_credit(CTag, NewCredit, Drain, Credits).
-
-maybe_drain(0, true, CTag, ChPid, Credit) ->
- rabbit_channel:send_drained(ChPid, CTag, Credit),
- 0; %% Magic reduction to 0
-
-maybe_drain(_, _, _, _, Credit) ->
- Credit.
-
update_credit(CTag, Len, ChPid, Credit, Drain, Credits) ->
NewCredit = maybe_drain(Len, Drain, CTag, ChPid, Credit),
NewCredits = write_credit(CTag, NewCredit, Drain, Credits),
@@ -208,8 +197,14 @@ update_credit(CTag, Len, ChPid, Credit, Drain, Credits) ->
end.
write_credit(CTag, Credit, Drain, Credits) ->
- dict:store(CTag, #credit{credit = Credit,
- drain = Drain}, Credits).
+ dict:store(CTag, #credit{credit = Credit, drain = Drain}, Credits).
+
+maybe_drain(0, true, CTag, ChPid, Credit) ->
+ rabbit_channel:send_drained(ChPid, CTag, Credit),
+ 0; %% Magic reduction to 0
+
+maybe_drain(_, _, _, _, Credit) ->
+ Credit.
%%----------------------------------------------------------------------------
%% gen_server callbacks