diff options
| -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 c5e704b6aa..4e1e299c54 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} = |
