equal
deleted
inserted
replaced
25 local log = module._log; |
25 local log = module._log; |
26 |
26 |
27 local c2s_timeout = module:get_option_number("c2s_timeout"); |
27 local c2s_timeout = module:get_option_number("c2s_timeout"); |
28 local stream_close_timeout = module:get_option_number("c2s_close_timeout", 5); |
28 local stream_close_timeout = module:get_option_number("c2s_close_timeout", 5); |
29 local opt_keepalives = module:get_option_boolean("c2s_tcp_keepalives", module:get_option_boolean("tcp_keepalives", true)); |
29 local opt_keepalives = module:get_option_boolean("c2s_tcp_keepalives", module:get_option_boolean("tcp_keepalives", true)); |
|
30 |
|
31 local measure_connections = module:measure("connections", "counter"); |
30 |
32 |
31 local sessions = module:shared("sessions"); |
33 local sessions = module:shared("sessions"); |
32 local core_process_stanza = prosody.core_process_stanza; |
34 local core_process_stanza = prosody.core_process_stanza; |
33 local hosts = prosody.hosts; |
35 local hosts = prosody.hosts; |
34 |
36 |
196 (self.data.log or log)("error", "Traceback[c2s]: %s", err); |
198 (self.data.log or log)("error", "Traceback[c2s]: %s", err); |
197 end |
199 end |
198 |
200 |
199 --- Port listener |
201 --- Port listener |
200 function listener.onconnect(conn) |
202 function listener.onconnect(conn) |
|
203 measure_connections(1); |
201 local session = sm_new_session(conn); |
204 local session = sm_new_session(conn); |
202 sessions[conn] = session; |
205 sessions[conn] = session; |
203 |
206 |
204 session.log("info", "Client connected"); |
207 session.log("info", "Client connected"); |
205 |
208 |
268 session.data(data); |
271 session.data(data); |
269 end |
272 end |
270 end |
273 end |
271 |
274 |
272 function listener.ondisconnect(conn, err) |
275 function listener.ondisconnect(conn, err) |
|
276 measure_connections(-1); |
273 local session = sessions[conn]; |
277 local session = sessions[conn]; |
274 if session then |
278 if session then |
275 (session.log or log)("info", "Client disconnected: %s", err or "connection closed"); |
279 (session.log or log)("info", "Client disconnected: %s", err or "connection closed"); |
276 sm_destroy_session(session, err); |
280 sm_destroy_session(session, err); |
277 sessions[conn] = nil; |
281 sessions[conn] = nil; |