Changeset

11913:75d69e4c54a2

mod_csi_simple: Unlock writes after event, to allow things to be queued E.g. mod_smacks could queue an <r>, which would be more likely to be included in the same write and TCP segment as the previously buffered data, reducing syscalls and network packets needing to be sent.
author Kim Alvefur <zash@zash.se>
date Tue, 16 Nov 2021 13:37:18 +0100
parents 11912:037b2c019f58
children 11914:8f7946ce7d66
files plugins/mod_csi_simple.lua
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_csi_simple.lua	Tue Nov 16 12:57:23 2021 +0000
+++ b/plugins/mod_csi_simple.lua	Tue Nov 16 13:37:18 2021 +0100
@@ -124,9 +124,9 @@
 		end
 		flush_reasons:with_labels(why or "important"):add(1);
 		session.log("debug", "Flushing buffer (%s; queue size is %d)", why or "important", session.csi_counter);
-		session.conn:resume_writes();
 		session.state = "flushing";
 		module:fire_event("csi-flushing", { session = session });
+		session.conn:resume_writes();
 	else
 		session.log("debug", "Holding buffer (%s; queue size is %d)", why or "unimportant", session.csi_counter);
 		stanza = with_timestamp(stanza, jid.join(session.username, session.host))