Software /
code /
prosody
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 |