Mercurial > prosody-modules
comparison mod_component_client/mod_component_client.lua @ 1214:a234ad611633
mod_component_client: Add config option component_client.keepalive_interval (default is one hour: 3600).
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Thu, 24 Oct 2013 11:52:58 -0400 |
parents | be5334e3f6ca |
children | 81a3bf8aba90 |
comparison
equal
deleted
inserted
replaced
1213:544f5a4a8428 | 1214:a234ad611633 |
---|---|
35 local config = module:get_option("component_client", {}); | 35 local config = module:get_option("component_client", {}); |
36 local server_host = config.host or "localhost"; | 36 local server_host = config.host or "localhost"; |
37 local server_port = config.port or 5347; | 37 local server_port = config.port or 5347; |
38 local server_secret = config.secret or error("client_component.secret not provided"); | 38 local server_secret = config.secret or error("client_component.secret not provided"); |
39 local exit_on_disconnect = config.exit_on_disconnect; | 39 local exit_on_disconnect = config.exit_on_disconnect; |
40 local keepalive_interval = config.keepalive_interval or 3600; | |
40 | 41 |
41 local __conn; | 42 local __conn; |
42 | 43 |
43 local listener = {}; | 44 local listener = {}; |
44 local session; | 45 local session; |
216 if exit_on_disconnect then | 217 if exit_on_disconnect then |
217 prosody.shutdown("Shutdown by component_client disconnect"); | 218 prosody.shutdown("Shutdown by component_client disconnect"); |
218 end | 219 end |
219 end | 220 end |
220 | 221 |
222 -- send whitespace keep-alive one an hour | |
223 if keepalive_interval ~= 0 then | |
224 module:add_timer(keepalive_interval, function() | |
225 if __conn then | |
226 __conn:write(" "); | |
227 end | |
228 return keepalive_interval; | |
229 end); | |
230 end | |
231 | |
221 function connect() | 232 function connect() |
222 ------------------------ | 233 ------------------------ |
223 -- Taken from net.http | 234 -- Taken from net.http |
224 local conn = socket.tcp ( ) | 235 local conn = socket.tcp ( ) |
225 conn:settimeout ( 10 ) | 236 conn:settimeout ( 10 ) |