diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2014-02-18 13:28:24 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2014-02-18 13:28:24 +0000 |
| commit | 66db57e4014b70b2d36c7789f5322f41ed37a100 (patch) | |
| tree | 5a775fcf50592885703a6f7f92cfb147269e6955 /src | |
| parent | 5b501ee3fe26a12855a2d9f1b42ae4a8f65bd69d (diff) | |
| download | rabbitmq-server-git-66db57e4014b70b2d36c7789f5322f41ed37a100.tar.gz | |
clearer
I think
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_reader.erl | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index 60e026a468..11621b127f 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -1076,11 +1076,13 @@ i(state, #v1{connection_state = ConnectionState, throttle = #throttle{alarmed_by = Alarms, last_blocked_by = WasBlockedBy, last_blocked_at = T}}) -> - Recently = T =/= never andalso timer:now_diff(erlang:now(), T) < 5000000, - case {credit_flow:blocked(), WasBlockedBy, Alarms, Recently} of - {true, _, [], _} -> flow; - {_, flow, [], true} -> flow; - {_, _, _, _} -> ConnectionState + case Alarms =:= [] andalso %% not blocked by resource alarms + (credit_flow:blocked() %% blocked by flow now + orelse %% blocked by flow recently + (WasBlockedBy =:= flow andalso T =/= never andalso + timer:now_diff(erlang:now(), T) < 5000000)) of + true -> flow; + false -> ConnectionState end; i(Item, #v1{connection = Conn}) -> ic(Item, Conn). |
