Software /
code /
verse
Comparison
init.lua @ 163:48a47bca9a63
verse: Change to set conn:send in only one place, and fire new events 'outgoing' and 'outgoing-raw'
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 15 Dec 2010 14:48:55 +0000 |
parent | 162:2950079d4319 |
child | 173:3112a9e450ac |
comparison
equal
deleted
inserted
replaced
162:2950079d4319 | 163:48a47bca9a63 |
---|---|
87 self:warn("connection initialisation failed: %s", err); | 87 self:warn("connection initialisation failed: %s", err); |
88 return self:event("disconnected", { reason = err }) or false, err; | 88 return self:event("disconnected", { reason = err }) or false, err; |
89 end | 89 end |
90 | 90 |
91 self.conn = conn; | 91 self.conn = conn; |
92 local w, t = conn.write, tostring; | 92 self.send = function (stream, data) |
93 self.send = function (_, data) return w(conn, t(data)); end | 93 self:event("outgoing", data); |
94 data = tostring(data); | |
95 self:event("outgoing-raw", data); | |
96 return conn:write(data); | |
97 end; | |
94 return true; | 98 return true; |
95 end | 99 end |
96 | 100 |
97 function stream:close() | 101 function stream:close() |
98 if not self.conn then | 102 if not self.conn then |
184 function new_listener(stream) | 188 function new_listener(stream) |
185 local conn_listener = {}; | 189 local conn_listener = {}; |
186 | 190 |
187 function conn_listener.onconnect(conn) | 191 function conn_listener.onconnect(conn) |
188 stream.connected = true; | 192 stream.connected = true; |
189 stream.send = function (stream, data) stream:debug("Sending data: "..tostring(data)); return conn:write(tostring(data)); end; | |
190 stream:event("connected"); | 193 stream:event("connected"); |
191 end | 194 end |
192 | 195 |
193 function conn_listener.onincoming(conn, data) | 196 function conn_listener.onincoming(conn, data) |
194 stream:event("incoming-raw", data); | 197 stream:event("incoming-raw", data); |