mod_c2s, mod_c2s: Send a whitespace on read timeout, to prod TCP into detecting if...
authorKim Alvefur <zash@zash.se>
Thu, 30 May 2013 12:32:40 +0000 (14:32 +0200)
committerKim Alvefur <zash@zash.se>
Thu, 30 May 2013 12:32:40 +0000 (14:32 +0200)
plugins/mod_c2s.lua
plugins/mod_s2s/mod_s2s.lua

index 1d2dd6ddf4c07b25e7aebcaaf090a4ea0104d542..f9a270c7b7539dd3f200acaffe8eb107d3af7607 100644 (file)
@@ -262,6 +262,13 @@ function listener.ondisconnect(conn, err)
        end
 end
 
+function listener.onreadtimeout(conn)
+       local session = sessions[conn];
+       if session then
+               return session.send(' ');
+       end
+end
+
 function listener.associate_session(conn, session)
        sessions[conn] = session;
 end
index ab5b72328076c034332cae23ea062b2ba85590fc..309940cf67af3fd72a7c3b34a2539d4982e3c17a 100644 (file)
@@ -624,6 +624,13 @@ function listener.ondisconnect(conn, err)
        end
 end
 
+function listener.onreadtimeout(conn)
+       local session = sessions[conn];
+       if session then
+               return session.sends2s(' ');
+       end
+end
+
 function listener.register_outgoing(conn, session)
        session.direction = "outgoing";
        sessions[conn] = session;