From 14eb86d85c5f191d78013aaa45b7e1aabf04a937 Mon Sep 17 00:00:00 2001
From: Anders Svensson <anders@erlang.org>
Date: Thu, 17 Mar 2016 14:50:53 +0100
Subject: Let throttling callback send a throttle message

That is, don't assume that it's only diameter_tcp doing so: allow it to
be received when not throttling. This lets a callback module trigger a
new throttling callback itself, but it's not clear if this will be
useful in practice.
---
 lib/diameter/src/transport/diameter_tcp.erl | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'lib/diameter')

diff --git a/lib/diameter/src/transport/diameter_tcp.erl b/lib/diameter/src/transport/diameter_tcp.erl
index 01f5bb8e66..1622e1b3d4 100644
--- a/lib/diameter/src/transport/diameter_tcp.erl
+++ b/lib/diameter/src/transport/diameter_tcp.erl
@@ -555,8 +555,9 @@ transition({P, Sock, Bin}, #transport{socket = Sock,
     recv(Bin, S);
 
 %% Make a new throttling callback after a timeout.
-transition(throttle, #transport{throttled = B} = S) ->
-    true = false /= B,  %% assert
+transition(throttle, #transport{throttled = false}) ->
+    ok;
+transition(throttle, S) ->
     throttle(S);
 
 %% Capabilties exchange has decided on whether or not to run over TLS.
-- 
cgit v1.2.3