equal
deleted
inserted
replaced
31 end |
31 end |
32 |
32 |
33 console = {}; |
33 console = {}; |
34 |
34 |
35 function console:new_session(conn) |
35 function console:new_session(conn) |
36 local w = function(s) conn.write(s:gsub("\n", "\r\n")); end; |
36 local w = function(s) conn:write(s:gsub("\n", "\r\n")); end; |
37 local session = { conn = conn; |
37 local session = { conn = conn; |
38 send = function (t) w(tostring(t)); end; |
38 send = function (t) w(tostring(t)); end; |
39 print = function (t) w("| "..tostring(t).."\n"); end; |
39 print = function (t) w("| "..tostring(t).."\n"); end; |
40 disconnect = function () conn.close(); end; |
40 disconnect = function () conn.close(); end; |
41 }; |
41 }; |
51 return session; |
51 return session; |
52 end |
52 end |
53 |
53 |
54 local sessions = {}; |
54 local sessions = {}; |
55 |
55 |
56 function console_listener.listener(conn, data) |
56 function console_listener.onincoming(conn, data) |
57 local session = sessions[conn]; |
57 local session = sessions[conn]; |
58 |
58 |
59 if not session then |
59 if not session then |
60 -- Handle new connection |
60 -- Handle new connection |
61 session = console:new_session(conn); |
61 session = console:new_session(conn); |
124 end)(session, data); |
124 end)(session, data); |
125 end |
125 end |
126 session.send(string.char(0)); |
126 session.send(string.char(0)); |
127 end |
127 end |
128 |
128 |
129 function console_listener.disconnect(conn, err) |
129 function console_listener.ondisconnect(conn, err) |
130 local session = sessions[conn]; |
130 local session = sessions[conn]; |
131 if session then |
131 if session then |
132 session.disconnect(); |
132 session.disconnect(); |
133 sessions[conn] = nil; |
133 sessions[conn] = nil; |
134 end |
134 end |