jaxl / JAXL

Asynchronous, non-blocking I/O, event based PHP library for writing custom TCP/IP client and server implementations. From it's previous versions, library inherits a full blown stable support for XMPP protocol stack. In v3.0, support for HTTP protocol stack was also added.
http://jaxl.readthedocs.org/
Other
379 stars 121 forks source link

Added write callback in order to listen for write requests. #91

Closed ManInTheBox closed 5 years ago

ManInTheBox commented 7 years ago

When JAXL is started it runs in an infinite loop, until there are no more active read/write file descriptors. Reading is fine because stream remains opened and data can come easily. However, writing is not that easy: you need to call send() in order to initiate writing data.

This PR adds ability to register your own write callback. It's being invoked on every loop cycle (the same as read callbacks) and it allows you to send data from your code.

Prior to this PR once connection is established you could only listed for incoming requests, and then respond to them. With this PR now you can write data without the need to wait for incoming message first.

If you like this idea I could add the docs as well.

umpirsky commented 6 years ago

@abhinavsingh @frost-nzcr4 Ping, is this library still maintained?