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 | c2bd02f507ffbfbb55b138753c2bb5839ae16e0e (patch) | |
| tree | 3ba0df301544a02c9b2e9645c065e4443b978fe1 | |
| parent | c1a592baafe49c22f4dea021a6abf406bb9ad50c (diff) | |
| download | rabbitmq-server-git-c2bd02f507ffbfbb55b138753c2bb5839ae16e0e.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 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} = |
