From a8e1a8b7de3f9b9863855d85b8e0fe4954948ebe Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Wed, 25 Apr 2012 19:57:46 +0100 Subject: mod_bosh: Optimisation, store reply_before value as waiting_requests value (saves a lookup) --- plugins/mod_bosh.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/mod_bosh.lua b/plugins/mod_bosh.lua index c5576004..599e4522 100644 --- a/plugins/mod_bosh.lua +++ b/plugins/mod_bosh.lua @@ -165,8 +165,7 @@ function handle_request(method, body, request) -- We're keeping this request open, to respond later log("debug", "Have nothing to say, so leaving request unanswered for now"); if session.bosh_wait then - request.reply_before = os_time() + session.bosh_wait; - waiting_requests[request] = true; + waiting_requests[request] = os_time() + session.bosh_wait; end end @@ -399,8 +398,8 @@ function on_timer() -- log("debug", "Checking for requests soon to timeout..."); -- Identify requests timing out within the next few seconds local now = os_time() + 3; - for request in pairs(waiting_requests) do - if request.reply_before <= now then + for request, reply_before in pairs(waiting_requests) do + if reply_before <= now then log("debug", "%s was soon to timeout, sending empty response", request.id); -- Send empty response to let the -- client know we're still here -- cgit v1.2.3