diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2014-01-07 12:32:41 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2014-01-07 12:32:41 +0000 |
commit | 5a59d423b33af1efb3c89af31326788bb0d40da1 (patch) | |
tree | 3ba0df301544a02c9b2e9645c065e4443b978fe1 | |
parent | d2e7aeed688ee6f1491799bb11d7fd3c955b7ae8 (diff) | |
download | rabbitmq-server-5a59d423b33af1efb3c89af31326788bb0d40da1.tar.gz |
Multi-heads
-rw-r--r-- | src/rabbit_limiter.erl | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/rabbit_limiter.erl b/src/rabbit_limiter.erl index c5e704b6..4e1e299c 100644 --- a/src/rabbit_limiter.erl +++ b/src/rabbit_limiter.erl @@ -276,12 +276,10 @@ is_consumer_blocked(#qstate{credits = Credits}, CTag) -> none -> false end. -credit(Limiter = #qstate{credits = Credits}, CTag, Credit, IsEmpty, Drain) -> - Credit1 = case Drain andalso IsEmpty of - true -> 0; - false -> Credit - end, - Limiter#qstate{credits = update_credit(CTag, Credit1, Drain, Credits)}. +credit(Limiter = #qstate{credits = Credits}, CTag, _Credit, true, true) -> + Limiter#qstate{credits = update_credit(CTag, 0, true, Credits)}; +credit(Limiter = #qstate{credits = Credits}, CTag, Credit, false, Drain) -> + Limiter#qstate{credits = update_credit(CTag, Credit, Drain, Credits)}. drained(Limiter = #qstate{credits = Credits}) -> {CTagCredits, Credits2} = |