plugins/mod_csi_simple.lua
changeset 9917 7d78b24d8449
parent 9916 601f9781a605
child 9918 2c6b7247c3d9
--- a/plugins/mod_csi_simple.lua	Sun Mar 24 18:33:38 2019 +0100
+++ b/plugins/mod_csi_simple.lua	Sun Mar 24 18:58:53 2019 +0100
@@ -104,11 +104,17 @@
 	return stanza;
 end
 
+local function flush_buffer(data, session)
+	session.conn:resume_writes();
+	return data;
+end
+
 module:hook("csi-client-inactive", function (event)
 	local session = event.origin;
 	if session.conn and session.conn and session.conn.pause_writes then
 		session.conn:pause_writes();
 		filters.add_filter(session, "stanzas/out", manage_buffer);
+		filters.add_filter(session, "bytes/in", flush_buffer);
 	elseif session.pump then
 		session.pump:pause();
 	else
@@ -136,6 +142,7 @@
 		session.pump:resume();
 	elseif session.conn and session.conn and session.conn.resume_writes then
 		filters.remove_filter(session, "stanzas/out", manage_buffer);
+		filters.remove_filter(session, "bytes/in", flush_buffer);
 		session.conn:resume_writes();
 	end
 end);