Software /
code /
prosody
Comparison
plugins/mod_csi_simple.lua @ 11927:4d63d8ef1cf9
mod_csi_simple: Early return on client activity while flushing buffer
Cuts down on log and measurement noise. We only want to do these things
here when initiating a flush.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 20 Nov 2021 22:50:51 +0100 |
parent | 11926:99444bf26a3d |
child | 11928:16cf863b36c0 |
comparison
equal
deleted
inserted
replaced
11926:99444bf26a3d | 11927:4d63d8ef1cf9 |
---|---|
141 return stanza; | 141 return stanza; |
142 end | 142 end |
143 | 143 |
144 local function flush_buffer(data, session) | 144 local function flush_buffer(data, session) |
145 local ctr = session.csi_counter or 0; | 145 local ctr = session.csi_counter or 0; |
146 if ctr == 0 then return data end | 146 if ctr == 0 or session.state == "flushing" then return data end |
147 session.log("debug", "Flushing buffer (%s; queue size is %d)", "client activity", session.csi_counter); | 147 session.log("debug", "Flushing buffer (%s; queue size is %d)", "client activity", session.csi_counter); |
148 session.state = "flushing"; | 148 session.state = "flushing"; |
149 module:fire_event("csi-flushing", { session = session }); | 149 module:fire_event("csi-flushing", { session = session }); |
150 flush_reasons:with_labels("client activity"):add(1); | 150 flush_reasons:with_labels("client activity"):add(1); |
151 if session.csi_measure_buffer_hold then | 151 if session.csi_measure_buffer_hold then |