Comparison

plugins/mod_csi_simple.lua @ 10825:2d002a4af144

mod_csi_simple: Fix flushing when client sent something Forgot to unset the flag afterwards, so it would only work once. The flag is not even needed, it works as intended without it.
author Kim Alvefur <zash@zash.se>
date Sat, 09 May 2020 13:50:58 +0200
parent 10824:c8430ee33967
child 10826:4f7226d5ee30
comparison
equal deleted inserted replaced
10824:c8430ee33967 10825:2d002a4af144
114 session.csi_counter = ctr + 1; 114 session.csi_counter = ctr + 1;
115 return stanza; 115 return stanza;
116 end 116 end
117 117
118 local function flush_buffer(data, session) 118 local function flush_buffer(data, session)
119 if session.csi_flushing then
120 return data;
121 end
122 session.csi_flushing = true;
123 session.log("debug", "Client sent something, flushing buffer once (queue size is %d)", session.csi_counter); 119 session.log("debug", "Client sent something, flushing buffer once (queue size is %d)", session.csi_counter);
124 session.conn:resume_writes(); 120 session.conn:resume_writes();
125 return data; 121 return data;
126 end 122 end
127 123
134 session.log("warn", "Session connection does not support write pausing"); 130 session.log("warn", "Session connection does not support write pausing");
135 end 131 end
136 end 132 end
137 133
138 function disable_optimizations(session) 134 function disable_optimizations(session)
139 session.csi_flushing = nil;
140 filters.remove_filter(session, "stanzas/out", manage_buffer); 135 filters.remove_filter(session, "stanzas/out", manage_buffer);
141 filters.remove_filter(session, "bytes/in", flush_buffer); 136 filters.remove_filter(session, "bytes/in", flush_buffer);
142 if session.conn and session.conn.resume_writes then 137 if session.conn and session.conn.resume_writes then
143 session.conn:resume_writes(); 138 session.conn:resume_writes();
144 end 139 end