116 end |
116 end |
117 end |
117 end |
118 end |
118 end |
119 session.send("</stream:stream>"); |
119 session.send("</stream:stream>"); |
120 session.conn.close(); |
120 session.conn.close(); |
121 component_listener.disconnect(session.conn, "stream error"); |
121 component_listener.ondisconnect(session.conn, "stream error"); |
122 end |
122 end |
123 end |
123 end |
124 |
124 |
125 --- Component connlistener |
125 --- Component connlistener |
126 function component_listener.listener(conn, data) |
126 function component_listener.onincoming(conn, data) |
127 local session = sessions[conn]; |
127 local session = sessions[conn]; |
128 if not session then |
128 if not session then |
129 local _send = conn.write; |
129 local _send = conn.write; |
130 session = { type = "component", conn = conn, send = function (data) return _send(tostring(data)); end }; |
130 session = { type = "component", conn = conn, send = function (data) return _send(tostring(data)); end }; |
131 sessions[conn] = session; |
131 sessions[conn] = session; |
155 if data then |
155 if data then |
156 session.data(conn, data); |
156 session.data(conn, data); |
157 end |
157 end |
158 end |
158 end |
159 |
159 |
160 function component_listener.disconnect(conn, err) |
160 function component_listener.ondisconnect(conn, err) |
161 local session = sessions[conn]; |
161 local session = sessions[conn]; |
162 if session then |
162 if session then |
163 (session.log or log)("info", "component disconnected: %s (%s)", tostring(session.host), tostring(err)); |
163 (session.log or log)("info", "component disconnected: %s (%s)", tostring(session.host), tostring(err)); |
164 if session.host then |
164 if session.host then |
165 log("debug", "Deregistering component"); |
165 log("debug", "Deregistering component"); |