summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-02-12 14:39:23 +0000
committerSimon MacMullen <simon@rabbitmq.com>2013-02-12 14:39:23 +0000
commitbee039366958ff6643e5d7fc8701581103749854 (patch)
tree98b8a044b2652bda4e19deda155c77f96aa45870 /src
parentfa52eaf48bb26bb8439e41b405bb4c0a0efab3da (diff)
downloadrabbitmq-server-git-bee039366958ff6643e5d7fc8701581103749854.tar.gz
s/q_state/credits/g
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_limiter.erl30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/rabbit_limiter.erl b/src/rabbit_limiter.erl
index 1ee5448e5d..0d836ca682 100644
--- a/src/rabbit_limiter.erl
+++ b/src/rabbit_limiter.erl
@@ -31,7 +31,7 @@
%%----------------------------------------------------------------------------
--record(token, {pid, enabled, q_state}).
+-record(token, {pid, enabled, credits}).
-ifdef(use_specs).
@@ -87,7 +87,7 @@ start_link() -> gen_server2:start_link(?MODULE, [], []).
make_token() -> make_token(undefined).
make_token(Pid) -> #token{pid = Pid, enabled = false,
- q_state = dict:new()}.
+ credits = dict:new()}.
is_enabled(#token{enabled = Enabled}) -> Enabled.
@@ -104,7 +104,7 @@ limit(Limiter, PrefetchCount) ->
%% breaching a limit. Note that we don't use maybe_call here in order
%% to avoid always going through with_exit_handler/2, even when the
%% limiter is disabled.
-can_send(Token = #token{pid = Pid, enabled = Enabled, q_state = Credits},
+can_send(Token = #token{pid = Pid, enabled = Enabled, credits = Credits},
QPid, AckReq, CTag) ->
ConsAllows = case dict:find(CTag, Credits) of
{ok, #credit{credit = C}} when C > 0 -> true;
@@ -114,7 +114,7 @@ can_send(Token = #token{pid = Pid, enabled = Enabled, q_state = Credits},
case ConsAllows of
true -> case not Enabled orelse call_can_send(Pid, QPid, AckReq) of
true -> Credits2 = record_send_q(CTag, Credits),
- Token#token{q_state = Credits2};
+ Token#token{credits = Credits2};
false -> channel_blocked
end;
false -> consumer_blocked
@@ -149,15 +149,15 @@ unblock(Limiter) ->
is_blocked(Limiter) ->
maybe_call(Limiter, is_blocked, false).
-initial_credit(Limiter = #token{q_state = Credits}, CTag, Credit, Drain) ->
+initial_credit(Limiter = #token{credits = Credits}, CTag, Credit, Drain) ->
{[], Credits2} = update_credit(CTag, Credit, Drain, Credits),
- Limiter#token{q_state = Credits2}.
+ Limiter#token{credits = Credits2}.
-credit(Limiter = #token{q_state = Credits}, CTag, Credit, Drain) ->
+credit(Limiter = #token{credits = Credits}, CTag, Credit, Drain) ->
{Unblock, Credits2} = update_credit(CTag, Credit, Drain, Credits),
- {Unblock, Limiter#token{q_state = Credits2}}.
+ {Unblock, Limiter#token{credits = Credits2}}.
-drained(Limiter = #token{q_state = Credits}) ->
+drained(Limiter = #token{credits = Credits}) ->
{CTagCredits, Credits2} =
dict:fold(
fun (CTag, #credit{credit = C, drain = true}, {Acc, Creds0}) ->
@@ -165,13 +165,13 @@ drained(Limiter = #token{q_state = Credits}) ->
(_CTag, #credit{credit = _C, drain = false}, {Acc, Creds0}) ->
{Acc, Creds0}
end, {[], Credits}, Credits),
- {CTagCredits, Limiter#token{q_state = Credits2}}.
+ {CTagCredits, Limiter#token{credits = Credits2}}.
-forget_consumer(Limiter = #token{q_state = Credits}, CTag) ->
- Limiter#token{q_state = dict:erase(CTag, Credits)}.
+forget_consumer(Limiter = #token{credits = Credits}, CTag) ->
+ Limiter#token{credits = dict:erase(CTag, Credits)}.
-copy_queue_state(#token{q_state = Credits}, Token) ->
- Token#token{q_state = Credits}.
+copy_queue_state(#token{credits = Credits}, Token) ->
+ Token#token{credits = Credits}.
%%----------------------------------------------------------------------------
%% Queue-local code
@@ -180,7 +180,7 @@ copy_queue_state(#token{q_state = Credits}, Token) ->
%% We want to do all the AMQP 1.0-ish link level credit calculations in the
%% queue (to do them elsewhere introduces a ton of races). However, it's a big
%% chunk of code that is conceptually very linked to the limiter concept. So
-%% we get the queue to hold a bit of state for us (#token.q_state), and
+%% we get the queue to hold a bit of state for us (#token.credits), and
%% maintain a fiction that the limiter is making the decisions...
record_send_q(CTag, Credits) ->