Mercurial > prosody-hg
comparison net/server_event.lua @ 3002:d1f864ed44c0
net.server_select, net.server_event: Support for ondrain listener callback for when send buffer is empty
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 05 May 2010 15:24:24 +0100 |
| parents | fa00c6f563b4 |
| children | 48871a549b4c |
comparison
equal
deleted
inserted
replaced
| 3001:fa00c6f563b4 | 3002:d1f864ed44c0 |
|---|---|
| 463 end | 463 end |
| 464 function interface_mt:ondisconnect() | 464 function interface_mt:ondisconnect() |
| 465 end | 465 end |
| 466 function interface_mt:ontimeout() | 466 function interface_mt:ontimeout() |
| 467 end | 467 end |
| 468 function interface_mt:ondrain() | |
| 469 end | |
| 468 function interface_mt:onstatus() | 470 function interface_mt:onstatus() |
| 469 debug("server.lua: Dummy onstatus()") | 471 debug("server.lua: Dummy onstatus()") |
| 470 end | 472 end |
| 471 end | 473 end |
| 472 | 474 |
| 543 local succ, err, byte = interface.conn:send( interface.writebuffer, 1, interface.writebufferlen ) | 545 local succ, err, byte = interface.conn:send( interface.writebuffer, 1, interface.writebufferlen ) |
| 544 --vdebug( "write data:", interface.writebuffer, "error:", err, "part:", byte ) | 546 --vdebug( "write data:", interface.writebuffer, "error:", err, "part:", byte ) |
| 545 if succ then -- writing succesful | 547 if succ then -- writing succesful |
| 546 interface.writebuffer = "" | 548 interface.writebuffer = "" |
| 547 interface.writebufferlen = 0 | 549 interface.writebufferlen = 0 |
| 550 interface:ondrain(); | |
| 548 if interface.fatalerror then | 551 if interface.fatalerror then |
| 549 debug "closing client after writing" | 552 debug "closing client after writing" |
| 550 interface:_close() -- close interface if needed | 553 interface:_close() -- close interface if needed |
| 551 elseif interface.startsslcallback then -- start ssl connection if needed | 554 elseif interface.startsslcallback then -- start ssl connection if needed |
| 552 debug "starting ssl handshake after writing" | 555 debug "starting ssl handshake after writing" |
