Comparison

mod_smacks/mod_smacks.lua @ 2088:7a29d8e3275b

mod_smacks: Go back to sending ack requests from a timer a moment after a stanza was sent
author Kim Alvefur <zash@zash.se>
date Wed, 16 Mar 2016 13:26:21 +0100
parent 2087:e48dbb640408
child 2089:964b3d649a36
comparison
equal deleted inserted replaced
2087:e48dbb640408 2088:7a29d8e3275b
86 if session.hibernating then 86 if session.hibernating then
87 session.log("debug", "hibernating, stanza queued"); 87 session.log("debug", "hibernating, stanza queued");
88 return nil; 88 return nil;
89 end 89 end
90 if #queue > max_unacked_stanzas and not session.awaiting_ack then 90 if #queue > max_unacked_stanzas and not session.awaiting_ack then
91 session.awaiting_ack = true; 91 session.log("debug", "Queuing <r> (in a moment)");
92 return tostring(stanza)..tostring(st.stanza("r", { xmlns = session.smacks })); 92 module:add_timer(1e-06, function ()
93 if not session.awaiting_ack then
94 session.awaiting_ack = true;
95 session.log("debug", "Sending <r> (after send)");
96 (session.sends2s or session.send)(st.stanza("r", { xmlns = session.smacks }))
97 end
98 end);
93 end 99 end
94 end 100 end
95 return stanza; 101 return stanza;
96 end 102 end
97 103