Mercurial > prosody-hg
comparison plugins/mod_admin_telnet.lua @ 10845:785fa0112411
mod_admin_telnet: Update existing sessions on reload
This removes the need to disconnect and reconnect to the telnet console
for changes to take effect.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 16 May 2020 20:46:12 +0200 |
| parents | b81f4fd7f21a |
| children | 826023c3322b |
comparison
equal
deleted
inserted
replaced
| 10844:05f4386c846e | 10845:785fa0112411 |
|---|---|
| 158 | 158 |
| 159 session.print("OK: "..tostring(message)); | 159 session.print("OK: "..tostring(message)); |
| 160 end | 160 end |
| 161 | 161 |
| 162 local sessions = {}; | 162 local sessions = {}; |
| 163 | |
| 164 function module.save() | |
| 165 return { sessions = sessions } | |
| 166 end | |
| 167 | |
| 168 function module.restore(data) | |
| 169 if data.sessions then | |
| 170 for conn in pairs(data.sessions) do | |
| 171 conn:setlistener(console_listener); | |
| 172 local session = console:new_session(conn); | |
| 173 sessions[conn] = session; | |
| 174 end | |
| 175 end | |
| 176 end | |
| 163 | 177 |
| 164 function console_listener.onconnect(conn) | 178 function console_listener.onconnect(conn) |
| 165 -- Handle new connection | 179 -- Handle new connection |
| 166 local session = console:new_session(conn); | 180 local session = console:new_session(conn); |
| 167 sessions[conn] = session; | 181 sessions[conn] = session; |
