summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2008-12-23 21:39:11 +0000
committerMatthias Radestock <matthias@lshift.net>2008-12-23 21:39:11 +0000
commite519cbe847cf449cf7d491bf2022d8c63a7f7b00 (patch)
treebd4850c98d3aa0c6524561c4dcd97872954157d2 /src
parentd3cf883b712e6f5f815aaa8dbcbf993a5ed57ef1 (diff)
downloadrabbitmq-server-git-e519cbe847cf449cf7d491bf2022d8c63a7f7b00.tar.gz
handle the "no limiter" case more obviously
This is no semantic change since gen_server:cast(undefined, ...) returns 'ok'. However, it only does so because it catches the 'badarg' error thrown by erlang:send. It is probably more efficient to not attempt the send in the first place. Plus for documentation purposes, and to keep dialyzer happy, it is useful to state explicitly which functions are expected to be called on an 'undefined' limiter.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_limiter.erl18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/rabbit_limiter.erl b/src/rabbit_limiter.erl
index 824de0724f..e02f77b1b2 100644
--- a/src/rabbit_limiter.erl
+++ b/src/rabbit_limiter.erl
@@ -70,21 +70,19 @@ limit(LimiterPid, PrefetchCount) ->
%% Ask the limiter whether the queue can deliver a message without
%% breaching a limit
-can_send(undefined, _QPid) ->
- true;
-can_send(LimiterPid, QPid) ->
- gen_server:call(LimiterPid, {can_send, QPid}).
+can_send(undefined, _QPid) -> true;
+can_send(LimiterPid, QPid) -> gen_server:call(LimiterPid, {can_send, QPid}).
%% Let the limiter know that the channel has received some acks from a
%% consumer
-ack(LimiterPid, Count) ->
- gen_server:cast(LimiterPid, {ack, Count}).
+ack(undefined, _Count) -> ok;
+ack(LimiterPid, Count) -> gen_server:cast(LimiterPid, {ack, Count}).
-register(LimiterPid, QPid) ->
- gen_server:cast(LimiterPid, {register, QPid}).
+register(undefined, _QPid) -> ok;
+register(LimiterPid, QPid) -> gen_server:cast(LimiterPid, {register, QPid}).
-unregister(LimiterPid, QPid) ->
- gen_server:cast(LimiterPid, {unregister, QPid}).
+unregister(undefined, _QPid) -> ok;
+unregister(LimiterPid, QPid) -> gen_server:cast(LimiterPid, {unregister, QPid}).
%%----------------------------------------------------------------------------
%% gen_server callbacks